diff --git a/shaders/FLIP_LINE_A8R8G8B8_SRGB.comp b/shaders/FLIP_LINE_A8R8G8B8_SRGB.comp index 3c8f4b29..3a8bb2fd 100644 --- a/shaders/FLIP_LINE_A8R8G8B8_SRGB.comp +++ b/shaders/FLIP_LINE_A8R8G8B8_SRGB.comp @@ -25,10 +25,10 @@ void main() uint pack=host.data[offset]; - const uvec4 shift = uvec4(16,8,0,24); - const uvec4 mask4 = uvec4(255,255,255,255); + //const uvec4 shift = uvec4(16,8,0,24); + //const uvec4 mask4 = uvec4(255,255,255,255); - uvec4 pix_int=(uvec4(pack,pack,pack,pack) >> shift) & mask4; + //uvec4 pix_int=(uvec4(pack,pack,pack,pack) >> shift) & mask4; //0,8,16,24 //R,G, B,A @@ -36,7 +36,11 @@ void main() //16,8,0,24 //BGRA - vec4 pixel = vec4(pix_int) / mask4; + //vec4 pixel = vec4(pix_int) / mask4; + + vec4 pixel=unpackUnorm4x8(pack); + + pixel=pixel.bgra; pixel = pow(pixel, cfg.gamma); diff --git a/shaders/FLIP_LINE_A8R8G8B8_SRGB.spv b/shaders/FLIP_LINE_A8R8G8B8_SRGB.spv index da6c7c28..b161436b 100644 Binary files a/shaders/FLIP_LINE_A8R8G8B8_SRGB.spv and b/shaders/FLIP_LINE_A8R8G8B8_SRGB.spv differ diff --git a/shaders/FLIP_TILE_A8R8G8B8_SRGB.comp b/shaders/FLIP_TILE_A8R8G8B8_SRGB.comp index 480d3739..1826c57f 100644 --- a/shaders/FLIP_TILE_A8R8G8B8_SRGB.comp +++ b/shaders/FLIP_TILE_A8R8G8B8_SRGB.comp @@ -62,11 +62,14 @@ void main() int pipe=getPipeIndex(pixelCoords); int bank=getBankIndex(pixelCoords); - const ivec4 shmt = ivec4(7,6,6,3); - const ivec2 bmod = ivec2(1,1); + //const ivec4 shmt = ivec4(7,6,6,3); + const ivec2 shmt = ivec2(7,6); + //const ivec2 bmod = ivec2(1,1); - ivec4 mt=(pixelCoords.xyxy >> shmt); - ivec2 total_offset=(mt.xy*cfg.pitch)+(mt.zw % bmod); + //ivec4 mt=(pixelCoords.xyxy >> shmt); + ivec2 mt=(pixelCoords.xy >> shmt); + ivec2 total_offset=(mt.xy*cfg.pitch); + //+(mt.zw % bmod); int offset = element_index | pipe | bank | ((total_offset.x+total_offset.y) << 13); diff --git a/shaders/FLIP_TILE_A8R8G8B8_SRGB.spv b/shaders/FLIP_TILE_A8R8G8B8_SRGB.spv index dbf9d289..80133531 100644 Binary files a/shaders/FLIP_TILE_A8R8G8B8_SRGB.spv and b/shaders/FLIP_TILE_A8R8G8B8_SRGB.spv differ diff --git a/shaders/compile.cmd b/shaders/compile.cmd index fbcf0a61..01d89991 100644 --- a/shaders/compile.cmd +++ b/shaders/compile.cmd @@ -1,19 +1,19 @@ +@echo off + Set spirvgls=spirv\glslangValidator -g0 -V --target-env vulkan1.0 Set spirvopt=spirv\spirv-opt --eliminate-dead-branches --eliminate-local-multi-store --inline-entry-points-exhaustive --eliminate-dead-code-aggressive --scalar-replacement --simplify-instructions -%spirvgls% FLIP_CURSOR.comp -o FLIP_CURSOR.spv -%spirvopt% FLIP_CURSOR.spv -o FLIP_CURSOR.spv +For /F %%a in ('dir /B') do if "%%~xa"==".comp" (call :compil %%a %%~na) -%spirvgls% FLIP_TILE_A8R8G8B8_SRGB.comp -o FLIP_TILE_A8R8G8B8_SRGB.spv -%spirvopt% FLIP_TILE_A8R8G8B8_SRGB.spv -o FLIP_TILE_A8R8G8B8_SRGB.spv - -%spirvgls% FLIP_LINE_A8R8G8B8_SRGB.comp -o FLIP_LINE_A8R8G8B8_SRGB.spv -%spirvopt% FLIP_LINE_A8R8G8B8_SRGB.spv -o FLIP_LINE_A8R8G8B8_SRGB.spv - - -%spirvgls% FLIP_TILE_A8R8G8B8_SRGB_NEO.comp -o FLIP_TILE_A8R8G8B8_SRGB_NEO.spv -%spirvopt% FLIP_TILE_A8R8G8B8_SRGB_NEO.spv -o FLIP_TILE_A8R8G8B8_SRGB_NEO.spv +For /F %%a in ('dir /B') do if "%%~xa"==".vert" (call :compil %%a %%~na) pause +exit + +:compil + echo %2 + %spirvgls% %1 -o %2.spv + %spirvopt% %2.spv -o %2.spv +exit /b