Sat, 30 Jan 2021 13:55:25 -0500 spirv: Work around OpLogicalNot being unsupported for ints default tip
Ethan Lee <flibitijibibo@flibitijibibo.com> [Sat, 30 Jan 2021 13:55:25 -0500] rev 1321
spirv: Work around OpLogicalNot being unsupported for ints
Sun, 10 Jan 2021 15:02:29 -0500 glsl: Move misc face/position variables to after main, fixes ES3 compatibility
Ethan Lee <flibitijibibo@flibitijibibo.com> [Sun, 10 Jan 2021 15:02:29 -0500] rev 1320
glsl: Move misc face/position variables to after main, fixes ES3 compatibility
Thu, 31 Dec 2020 15:56:57 -0500 glsl: Fix support for PSIZE1 and up
Ethan Lee <flibitijibibo@flibitijibibo.com> [Thu, 31 Dec 2020 15:56:57 -0500] rev 1319
glsl: Fix support for PSIZE1 and up
Wed, 11 Nov 2020 15:09:32 -0500 spirv: Fix PointCoord input using vec4 instead of vec2
Martin Krošlák <kroslakma@gmail.com> [Wed, 11 Nov 2020 15:09:32 -0500] rev 1318
spirv: Fix PointCoord input using vec4 instead of vec2
Tue, 10 Nov 2020 19:17:45 -0500 Replace SWAPDBL loop with memcpy, fixes MinGW Win64
Ethan Lee <flibitijibibo@flibitijibibo.com> [Tue, 10 Nov 2020 19:17:45 -0500] rev 1317
Replace SWAPDBL loop with memcpy, fixes MinGW Win64
Fri, 23 Oct 2020 23:35:41 -0400 Fix caller-defined swizzles for Shader Model 1 shaders.
Ryan C. Gordon <icculus@icculus.org> [Fri, 23 Oct 2020 23:35:41 -0400] rev 1316
Fix caller-defined swizzles for Shader Model 1 shaders.
Thu, 22 Oct 2020 10:57:02 -0400 vulkan: Decouple block size from block increment
Evan Hemsley <evan@moonside.games> [Thu, 22 Oct 2020 10:57:02 -0400] rev 1315
vulkan: Decouple block size from block increment
Thu, 15 Oct 2020 01:17:45 -0400 D3D11: Increase bool uniform buffer size (thanks @jeffphilp!)
Ethan Lee <flibitijibibo@flibitijibibo.com> [Thu, 15 Oct 2020 01:17:45 -0400] rev 1314
D3D11: Increase bool uniform buffer size (thanks @jeffphilp!)
Thu, 15 Oct 2020 01:03:56 -0400 Missed an increment...
Ethan Lee <flibitijibibo@flibitijibibo.com> [Thu, 15 Oct 2020 01:03:56 -0400] rev 1313
Missed an increment...
Thu, 15 Oct 2020 00:57:03 -0400 D3D11: bool constants are stored as int4 (thanks @jeffphilp!)
Ethan Lee <flibitijibibo@flibitijibibo.com> [Thu, 15 Oct 2020 00:57:03 -0400] rev 1312
D3D11: bool constants are stored as int4 (thanks @jeffphilp!)
Wed, 14 Oct 2020 16:43:03 -0400 opengl: Don't assert if vs_flip_loc == -1.
Ryan C. Gordon <icculus@icculus.org> [Wed, 14 Oct 2020 16:43:03 -0400] rev 1311
opengl: Don't assert if vs_flip_loc == -1. This can be -1 if the GLSL compiler removed it, or if you bound a program without a vertex shader at all.
Tue, 13 Oct 2020 01:23:44 -0400 glsl: better fix for incorrect SM1.1 defines.
Ryan C. Gordon <icculus@icculus.org> [Tue, 13 Oct 2020 01:23:44 -0400] rev 1310
glsl: better fix for incorrect SM1.1 defines.
Tue, 13 Oct 2020 01:23:19 -0400 Make sure attribute registers are declared correctly in weird SM1 case.
Ryan C. Gordon <icculus@icculus.org> [Tue, 13 Oct 2020 01:23:19 -0400] rev 1309
Make sure attribute registers are declared correctly in weird SM1 case.
Tue, 13 Oct 2020 01:03:20 -0400 glsl: for SM1.1, don't add incorrect gl_TexCoord defines.
Ryan C. Gordon <icculus@icculus.org> [Tue, 13 Oct 2020 01:03:20 -0400] rev 1308
glsl: for SM1.1, don't add incorrect gl_TexCoord defines. We handled this elsewhere.
Tue, 13 Oct 2020 01:02:07 -0400 utils: Added testglcompile.c, to see if the GL accepts our generated shaders.
Ryan C. Gordon <icculus@icculus.org> [Tue, 13 Oct 2020 01:02:07 -0400] rev 1307
utils: Added testglcompile.c, to see if the GL accepts our generated shaders.
Mon, 12 Oct 2020 15:33:01 -0400 assembler: Don't lose the TEXBEM opcode in the special ps_1_1 TEX detection.
Ryan C. Gordon <icculus@icculus.org> [Mon, 12 Oct 2020 15:33:01 -0400] rev 1306
assembler: Don't lose the TEXBEM opcode in the special ps_1_1 TEX detection.
Fri, 02 Oct 2020 14:48:29 -0400 d3d11: Fix possible leaks after compiling shaders
Ethan Lee <flibitijibibo@flibitijibibo.com> [Fri, 02 Oct 2020 14:48:29 -0400] rev 1305
d3d11: Fix possible leaks after compiling shaders
Wed, 30 Sep 2020 22:51:53 -0400 vulkan: Add support for multithreaded UBOs
Evan Hemsley <evan@moonside.games> [Wed, 30 Sep 2020 22:51:53 -0400] rev 1304
vulkan: Add support for multithreaded UBOs
Sun, 30 Aug 2020 21:35:31 -0400 spirv: Separate pixel shader outputs from inputs, fix linker accordingly
Ethan Lee <flibitijibibo@flibitijibibo.com> [Sun, 30 Aug 2020 21:35:31 -0400] rev 1303
spirv: Separate pixel shader outputs from inputs, fix linker accordingly
Thu, 27 Aug 2020 17:18:38 -0400 vulkan: Fix overlapping pixel/vertex shaders where one shader is NULL
Ethan Lee <flibitijibibo@flibitijibibo.com> [Thu, 27 Aug 2020 17:18:38 -0400] rev 1302
vulkan: Fix overlapping pixel/vertex shaders where one shader is NULL
Wed, 26 Aug 2020 14:37:18 -0400 Write locations for SPIR-V pixel shader outputs
Ethan Lee <flibitijibibo@flibitijibibo.com> [Wed, 26 Aug 2020 14:37:18 -0400] rev 1301
Write locations for SPIR-V pixel shader outputs
Tue, 25 Aug 2020 22:41:43 -0400 Handle MOJOSHADER_USAGE_UNKNOWN in SPIR-V linker
Ethan Lee <flibitijibibo@flibitijibibo.com> [Tue, 25 Aug 2020 22:41:43 -0400] rev 1300
Handle MOJOSHADER_USAGE_UNKNOWN in SPIR-V linker
Thu, 23 Jul 2020 18:16:22 -0400 Fix SM1 shaders on SPIR-V after TEX* opcodes changes:
Martin Krošlák <kroslakma@gmail.com> [Thu, 23 Jul 2020 18:16:22 -0400] rev 1299
Fix SM1 shaders on SPIR-V after TEX* opcodes changes: - Fix implicit input attribute on SPIR-V profile - Remove texcoord attribs from other TEX* opcodes
Thu, 23 Jul 2020 05:12:09 -0400 assembler: set the default source arg swizzle to the correct value.
Ryan C. Gordon <icculus@icculus.org> [Thu, 23 Jul 2020 05:12:09 -0400] rev 1298
assembler: set the default source arg swizzle to the correct value.
Mon, 20 Jul 2020 20:07:44 -0400 metal: Fix RCP and RSQ output to match GLSL.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 20:07:44 -0400] rev 1297
metal: Fix RCP and RSQ output to match GLSL.
Mon, 20 Jul 2020 20:07:06 -0400 d3d11: Only build the D3D11 glue code on Windows.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 20:07:06 -0400] rev 1296
d3d11: Only build the D3D11 glue code on Windows.
Mon, 20 Jul 2020 20:06:34 -0400 cmake: build the HLSL profile by default.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 20:06:34 -0400] rev 1295
cmake: build the HLSL profile by default.
Mon, 20 Jul 2020 19:24:46 -0400 Rebuilt the lexer with a much newer re2c.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 19:24:46 -0400] rev 1294
Rebuilt the lexer with a much newer re2c.
Mon, 20 Jul 2020 19:22:41 -0400 glsl: Correct RCP and RSQ output.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 19:22:41 -0400] rev 1293
glsl: Correct RCP and RSQ output.
Mon, 20 Jul 2020 19:02:27 -0400 glsl: Fix compiler warning.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 19:02:27 -0400] rev 1292
glsl: Fix compiler warning.
Mon, 20 Jul 2020 18:53:54 -0400 RSQ opcode requires replicate swizzle.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 18:53:54 -0400] rev 1291
RSQ opcode requires replicate swizzle.
Mon, 20 Jul 2020 16:14:43 -0400 The assembler needs to accept an implicit ".x" swizzle on RCP's source arg.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 16:14:43 -0400] rev 1290
The assembler needs to accept an implicit ".x" swizzle on RCP's source arg.
Mon, 20 Jul 2020 15:37:27 -0400 Minor replicate_swizzle optimization.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 15:37:27 -0400] rev 1289
Minor replicate_swizzle optimization. Do it in two tests instead of three, and with two shifts instead of five.
Mon, 20 Jul 2020 15:35:34 -0400 Clean up assembler writemask parsing a little.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 15:35:34 -0400] rev 1288
Clean up assembler writemask parsing a little.
Mon, 20 Jul 2020 15:18:14 -0400 List default writemasks for instructions.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 15:18:14 -0400] rev 1287
List default writemasks for instructions. This lets this line of assembly generate correct code: m3x3 r7, r4, c28 As this is legal, but the bytecode validator will throw it out for having a writemask of .xyzw on r7 when it requires .xyz. The assembler needs to know what the implicit writemask should be in this circumstance. (Some instructions might still be incorrect, but are left at the default of a full .xyzw writemask, so they continue to act as before until corrected.)
Mon, 20 Jul 2020 15:14:32 -0400 Fixed typo in error message.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 15:14:32 -0400] rev 1286
Fixed typo in error message.
Mon, 20 Jul 2020 14:54:14 -0400 Assembler now accepts "c[5]" as equivalent to "c5".
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 14:54:14 -0400] rev 1285
Assembler now accepts "c[5]" as equivalent to "c5". This only accepts a constant integers, you can't currently do something like "c[2+3]" even if the constants could be completely folded during assembly. I don't know if Microsoft's tools allow that, will have to revisit later if so.
Mon, 20 Jul 2020 14:52:00 -0400 Assembler now deals with scalar registers specifying a write mask better.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 14:52:00 -0400] rev 1284
Assembler now deals with scalar registers specifying a write mask better.
Mon, 20 Jul 2020 14:51:03 -0400 Don't make the MOJOSHADER_DO_INSTRUCTION_TABLE caller undef everything after.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 14:51:03 -0400] rev 1283
Don't make the MOJOSHADER_DO_INSTRUCTION_TABLE caller undef everything after.
Mon, 20 Jul 2020 14:50:10 -0400 For SM1.1 TEX, don't add texcoord attributes.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jul 2020 14:50:10 -0400] rev 1282
For SM1.1 TEX, don't add texcoord attributes. Other parts of the system will generate the tX registers as global variables, assign gl_TexCoord[X] to them, and overwrite them with the sampled pixels during the TEX instruction. Setting these as texcoord attributes causes it to _also_ generate a generic vertex attribute and cause all sorts of problems.
Sun, 19 Jul 2020 23:44:13 -0400 Correct the reported usage on SM1 vertex shader input registers.
Ryan C. Gordon <icculus@icculus.org> [Sun, 19 Jul 2020 23:44:13 -0400] rev 1281
Correct the reported usage on SM1 vertex shader input registers. They are hardcoded to mean specific things (v0 is POSITION0, v1 is BLENDWEIGHT, etc).
Tue, 07 Jul 2020 21:00:14 -0400 VS2010 buildfix
Caleb Cornett <caleb.cornett@outlook.com> [Tue, 07 Jul 2020 21:00:14 -0400] rev 1280
VS2010 buildfix
Tue, 07 Jul 2020 19:25:47 -0400 Metal uniform buffer overhaul.
Caleb Cornett <caleb.cornett@outlook.com> [Tue, 07 Jul 2020 19:25:47 -0400] rev 1279
Metal uniform buffer overhaul. 1. Metal now uses a single, ~1MB uniform buffer per frame that is shared among all shaders. From my testing this should be more than enough room for the FNA catalog (aside from possibly Little Racers Street with its memory leak). This is a major boon for Metal memory management since it only requires one buffer instead of 3,000 (in LRS's case)! And it simplifies the internal workings of mojoshader_metal dramatically. 2. Metal now has a MOJOSHADER_mtlMakeContextCurrent API to match GL and Vulkan. Other parts of the context API have been rewritten as well to match the behavior you'd expect. 3. The MOJOSHADER_mtlGetUniformBuffers function has been replaced with MOJOSHADER_mtlGetUniformData. Now that we only use a single uniform buffer, there's no need to return one for each of the shaders. 4. The MOJOSHADER_mtlGetFunctionHandle function no longer allocates memory. Instead, all MTLFunction handles are cached in the MOJOSHADER_mtlShader structs at library creation time. This removes the burden of memory management from the user. 5. A variety of formatting and documentation updates.
Tue, 07 Jul 2020 17:44:32 -0400 spirv: Fix bogus detection of PSIZE0
Ethan Lee <flibitijibibo@flibitijibibo.com> [Tue, 07 Jul 2020 17:44:32 -0400] rev 1278
spirv: Fix bogus detection of PSIZE0
Tue, 07 Jul 2020 17:19:45 -0400 Add dynamic linking support for SPIR-V modules
Ethan Lee <flibitijibibo@flibitijibibo.com> [Tue, 07 Jul 2020 17:19:45 -0400] rev 1277
Add dynamic linking support for SPIR-V modules
Mon, 06 Jul 2020 16:23:06 -0400 vulkan: Rework UBO allocation to use a single monolithic buffer
Evan Hemsley <evan@moonside.games> [Mon, 06 Jul 2020 16:23:06 -0400] rev 1276
vulkan: Rework UBO allocation to use a single monolithic buffer
Mon, 06 Jul 2020 12:51:28 -0400 vulkan: Fix uniform buffer copies for bools
Ethan Lee <flibitijibibo@flibitijibibo.com> [Mon, 06 Jul 2020 12:51:28 -0400] rev 1275
vulkan: Fix uniform buffer copies for bools
Fri, 03 Jul 2020 10:43:01 -0400 spirv: Fix support for FOG1
Martin Krošlák <kroslakma@gmail.com> [Fri, 03 Jul 2020 10:43:01 -0400] rev 1274
spirv: Fix support for FOG1
Thu, 02 Jul 2020 18:08:57 -0400 spirv: Fix texcoord use before load
Martin Krošlák <kroslakma@gmail.com> [Thu, 02 Jul 2020 18:08:57 -0400] rev 1273
spirv: Fix texcoord use before load
Thu, 02 Jul 2020 18:08:02 -0400 Fix include path for vulkan.h
Ethan Lee <flibitijibibo@flibitijibibo.com> [Thu, 02 Jul 2020 18:08:02 -0400] rev 1272
Fix include path for vulkan.h
Wed, 01 Jul 2020 04:29:09 -0400 Add support for Vulkan rendering.
Evan Hemsley <evan@moonside.games> [Wed, 01 Jul 2020 04:29:09 -0400] rev 1271
Add support for Vulkan rendering. Co-authors include: - Caleb Cornett <caleb.cornett@outlook.com> - Martin Krošlák <kroslakma@gmail.com> - Ethan Lee <flibitijibibo@flibitijibibo.com>
Thu, 25 Jun 2020 10:35:29 -0400 Add getError to effectShaderContext
Ethan Lee <flibitijibibo@flibitijibibo.com> [Thu, 25 Jun 2020 10:35:29 -0400] rev 1270
Add getError to effectShaderContext
Thu, 25 Jun 2020 10:10:52 -0400 Improve error handling in Effect implementation
Ethan Lee <flibitijibibo@flibitijibibo.com> [Thu, 25 Jun 2020 10:10:52 -0400] rev 1269
Improve error handling in Effect implementation
Wed, 24 Jun 2020 21:13:32 -0400 spirv: Fix asserts for pixel shader POSITION/PSIZE lengths
Ethan Lee <flibitijibibo@flibitijibibo.com> [Wed, 24 Jun 2020 21:13:32 -0400] rev 1268
spirv: Fix asserts for pixel shader POSITION/PSIZE lengths
Wed, 24 Jun 2020 21:02:33 -0400 spirv: Rework attrib offset/length organization
Ethan Lee <flibitijibibo@flibitijibibo.com> [Wed, 24 Jun 2020 21:02:33 -0400] rev 1267
spirv: Rework attrib offset/length organization
Wed, 24 Jun 2020 14:19:46 -0400 Note the usage index range for MOJOSHADER_usage enum
Ethan Lee <flibitijibibo@flibitijibibo.com> [Wed, 24 Jun 2020 14:19:46 -0400] rev 1266
Note the usage index range for MOJOSHADER_usage enum
Wed, 24 Jun 2020 14:19:28 -0400 spirv: Fix support for POSITION1+
Ethan Lee <flibitijibibo@flibitijibibo.com> [Wed, 24 Jun 2020 14:19:28 -0400] rev 1265
spirv: Fix support for POSITION1+
Wed, 24 Jun 2020 14:17:58 -0400 spirv: Have separate VPOS paths for GL/VK
Ethan Lee <flibitijibibo@flibitijibibo.com> [Wed, 24 Jun 2020 14:17:58 -0400] rev 1264
spirv: Have separate VPOS paths for GL/VK
Wed, 24 Jun 2020 12:45:53 -0400 spirv: Allow COLOR usages to go up to 4, not just 2
Ethan Lee <flibitijibibo@flibitijibibo.com> [Wed, 24 Jun 2020 12:45:53 -0400] rev 1263
spirv: Allow COLOR usages to go up to 4, not just 2
Wed, 24 Jun 2020 09:57:00 -0400 Disable D3D11 HLSL optimizations, as they break program behavior
Caleb Cornett <caleb.cornett@outlook.com> [Wed, 24 Jun 2020 09:57:00 -0400] rev 1262
Disable D3D11 HLSL optimizations, as they break program behavior
(0) -1000 -300 -100 -60 tip