V210 issue fix + correct packing
This commit is contained in:
@@ -18,12 +18,13 @@ fn bar_index(px: u32) -> u32 {
|
||||
@compute @workgroup_size(64)
|
||||
fn main(@builtin(global_invocation_id) gid: vec3<u32>) {
|
||||
let block = gid.x;
|
||||
let total = (params.width * params.height) / 6u;
|
||||
let blocks_per_row = (params.width + 5u) / 6u;
|
||||
let total = blocks_per_row * params.height;
|
||||
if (block >= total) {
|
||||
return;
|
||||
}
|
||||
|
||||
let x = (block * 6u) % params.width;
|
||||
let x = (block % blocks_per_row) * 6u;
|
||||
|
||||
// Bar order: 100% white, yellow, cyan, green, magenta, red, blue, black
|
||||
let y_tab = array<u32, 8>(940u, 877u, 754u, 691u, 313u, 250u, 127u, 64u);
|
||||
|
||||
@@ -18,12 +18,13 @@ fn bar_index(px: u32) -> u32 {
|
||||
@compute @workgroup_size(64)
|
||||
fn main(@builtin(global_invocation_id) gid: vec3<u32>) {
|
||||
let block = gid.x;
|
||||
let total = (params.width * params.height) / 6u;
|
||||
let blocks_per_row = (params.width + 5u) / 6u;
|
||||
let total = blocks_per_row * params.height;
|
||||
if (block >= total) {
|
||||
return;
|
||||
}
|
||||
|
||||
let x = (block * 6u) % params.width;
|
||||
let x = (block % blocks_per_row) * 6u;
|
||||
|
||||
// Bar order: 75% white, yellow, cyan, green, magenta, red, blue, black
|
||||
let y_tab = array<u32, 8>(721u, 674u, 581u, 534u, 251u, 204u, 111u, 64u);
|
||||
|
||||
@@ -18,13 +18,14 @@ fn bar_index(px: u32, bars_75_width: u32) -> u32 {
|
||||
@compute @workgroup_size(64)
|
||||
fn main(@builtin(global_invocation_id) gid: vec3<u32>) {
|
||||
let block = gid.x;
|
||||
let total = (params.width * params.height) / 6u;
|
||||
let blocks_per_row = (params.width + 5u) / 6u;
|
||||
let total = blocks_per_row * params.height;
|
||||
if (block >= total) {
|
||||
return;
|
||||
}
|
||||
|
||||
let x = (block * 6u) % params.width;
|
||||
let y_px = (block * 6u) / params.width;
|
||||
let x = (block % blocks_per_row) * 6u;
|
||||
let y_px = block / blocks_per_row;
|
||||
|
||||
// 75% Color Table: white, yellow, cyan, green, magenta, red, blue
|
||||
let y_tab = array<u32, 7>(721u, 674u, 581u, 534u, 251u, 204u, 111u);
|
||||
|
||||
@@ -19,7 +19,8 @@ fn bar_index(px: u32) -> u32 {
|
||||
@compute @workgroup_size(64)
|
||||
fn main(@builtin(global_invocation_id) gid: vec3<u32>) {
|
||||
let block = gid.x;
|
||||
let total = (params.width * params.height) / 6u;
|
||||
let blocks_per_row = (params.width + 5u) / 6u;
|
||||
let total = blocks_per_row * params.height;
|
||||
if (block >= total) {
|
||||
return;
|
||||
}
|
||||
@@ -27,7 +28,7 @@ fn main(@builtin(global_invocation_id) gid: vec3<u32>) {
|
||||
let y_tab = array<u32, 13>(64u, 137u, 210u, 283u, 356u, 429u, 502u, 575u, 648u, 721u, 794u, 867u, 940u);
|
||||
|
||||
// 6 = pixels per v210 block (NOT the bar count)
|
||||
let x = (block * 6u) % params.width;
|
||||
let x = (block % blocks_per_row) * 6u;
|
||||
var y: array<u32, 6>;
|
||||
var cb: array<u32, 6>;
|
||||
var cr: array<u32, 6>;
|
||||
|
||||
@@ -18,7 +18,8 @@ fn bar_index(px: u32) -> u32 {
|
||||
@compute @workgroup_size(64)
|
||||
fn main(@builtin(global_invocation_id) gid: vec3<u32>) {
|
||||
let block = gid.x;
|
||||
let total = (params.width * params.height) / 6u;
|
||||
let blocks_per_row = (params.width + 5u) / 6u;
|
||||
let total = blocks_per_row * params.height;
|
||||
if (block >= total) {
|
||||
return;
|
||||
}
|
||||
@@ -28,7 +29,7 @@ fn main(@builtin(global_invocation_id) gid: vec3<u32>) {
|
||||
let cb_tab = array<u32, 7>(512u, 176u, 589u, 253u, 771u, 435u, 848u);
|
||||
let cr_tab = array<u32, 7>(512u, 543u, 176u, 207u, 817u, 848u, 481u);
|
||||
|
||||
let x = (block * 6u) % params.width;
|
||||
let x = (block % blocks_per_row) * 6u;
|
||||
var y: array<u32, 6>;
|
||||
var cb: array<u32, 6>;
|
||||
var cr: array<u32, 6>;
|
||||
|
||||
Reference in New Issue
Block a user