Hans-Kristian Arntzen
3776d8978c
GLSL: Force block declaration if clip/cull is used in tesc.
2021-01-07 15:32:15 +01:00
Hans-Kristian Arntzen
234c65c0f3
Merge pull request #1585 from KhronosGroup/fix-1569
...
GLSL: Update SPIR-V headers for modified ray tracing opcodes.
2021-01-07 09:51:37 +01:00
Hans-Kristian Arntzen
c033a93951
GLSL: Fix -Wshadow error.
2021-01-06 12:59:57 +01:00
Hans-Kristian Arntzen
1a28a04333
GLSL: Update SPIR-V headers for modified ray tracing opcodes.
2021-01-06 11:38:27 +01:00
Hans-Kristian Arntzen
39fee93906
GLSL: Refactor out Output variable initialization.
2021-01-05 12:50:36 +01:00
Hans-Kristian Arntzen
175381fe08
GLSL: Handle some extreme edge cases in Output variable initialization.
...
Deal with patch blocks, arrays of patch blocks, arrays of blocks, etc.
2021-01-05 12:06:36 +01:00
Hans-Kristian Arntzen
a1c784f002
More robust handling of initialized output builtin variables.
2021-01-04 19:12:43 +01:00
Hans-Kristian Arntzen
9a304fe931
Handle output IO block initializers more robustly.
2021-01-04 19:04:10 +01:00
Hans-Kristian Arntzen
ddb3c65648
Handle reserved identifiers for functions.
...
gl_ identifiers are already handled by fixups, so remove redundant code.
2021-01-04 10:00:12 +01:00
Hans-Kristian Arntzen
c8765a75f2
GLSL: Fix KHR subgroup extension table for subgroups.
2020-12-11 12:26:43 +01:00
Hans-Kristian Arntzen
762c3082ae
Merge pull request #1564 from KhronosGroup/fix-1558
...
GLSL: Emit nonuniformEXT in correct place for late-combined samplers.
2020-12-07 14:07:38 +01:00
Hans-Kristian Arntzen
a11c4780d0
GLSL: Emit nonuniformEXT in correct place for late-combined samplers.
...
Need to emit nonuniformEXT(sampler2D()) since constructor expressions in
Vulkan GLSL do not propgate the nonuniform qualifier.
2020-12-07 13:00:15 +01:00
Hans-Kristian Arntzen
dc940846d7
GLSL/HLSL: Disallow VariablePointers capability outright.
...
Cannot be supported, error out early.
2020-12-07 12:16:02 +01:00
Hans-Kristian Arntzen
cf1e9e0643
Add MIT dual license for the SPIRV-Cross API.
2020-12-01 16:47:08 +01:00
Hans-Kristian Arntzen
e07f0a9df5
GLSL: Fix buffer_reference with aliased names.
2020-11-23 16:36:49 +01:00
Hans-Kristian Arntzen
c5826b4b69
GLSL: Emit storage qualifiers for buffer_reference.
2020-11-23 16:26:33 +01:00
Hans-Kristian Arntzen
6a614cc7f7
Normalize all internal workaround methods to use spv prefix.
...
We have been interchanging spv and SPIRV_Cross_ for a while, which
causes weirdness since we don't explicitly ban SPIRV_Cross identifiers,
as these identifiers are generally used for interface variable
workarounds.
2020-11-23 15:42:27 +01:00
rdb
df5e3730ca
GLSL: Require GL_ARB_vertex_attrib_64bit for double input in pre-4.10
2020-11-16 22:14:46 +01:00
rdb
10fa5f62aa
GLSL: Legacy / extension fallbacks for textureSize and texelFetch
2020-11-09 15:26:46 +01:00
Hans-Kristian Arntzen
6fc2a0581a
Run format_all.sh.
2020-11-08 13:59:52 +01:00
rdb
509908d8db
GLSL: Add error checking and extension fallback for textureGather
2020-11-07 16:49:18 +01:00
Hans-Kristian Arntzen
683c3f5c3f
Merge pull request #1530 from rdb/legacy-glsl-round
...
GLSL: Provide round/roundEven for legacy GLSL
2020-11-07 16:40:18 +01:00
Hans-Kristian Arntzen
ea334c14bc
Merge pull request #1527 from rdb/legacy-transpose
...
GLSL: implement transpose() in GLSL 1.10 / ES 1.00
2020-11-07 16:37:59 +01:00
rdb
b3bd674aa7
GLSL: Remove unused lod
argument from legacy_tex_op()
2020-11-07 12:43:53 +01:00
rdb
bf71994dae
GLSL: implement transpose() in GLSL 1.10 / ES 1.00
2020-11-06 22:27:54 +01:00
rdb
9e6e5d2738
GLSL: Fix round/roundEven for legacy GLSL.
2020-11-06 17:34:38 +01:00
rdb
e8c500ceef
GLSL: Fix support for textureLod in legacy vertex shaders
2020-11-06 16:37:27 +01:00
Hans-Kristian Arntzen
244839d350
Merge pull request #1516 from billhollings/VK_EXT_descriptor_indexing
...
MSL: Support run-time sized image and sampler arrays
2020-11-03 10:15:36 +01:00
Mateusz Kielan
9a1af25f02
Merge pull request #2 from KhronosGroup/master
...
AMD workaround
2020-10-31 21:54:58 +01:00
devsh
6c5f394b09
Fix some bad assumptions about emulating subgroupBarrier
2020-10-31 21:46:59 +01:00
Bill Hollings
7f67abe0fe
Minor format and typo updates from code review.
2020-10-30 16:05:44 -04:00
Hans-Kristian Arntzen
439b666829
GLSL: Fix nonuniformEXT injection.
...
Needs to consider that other expressions might be using brackets as well
...
2020-10-30 14:11:16 +01:00
Bill Hollings
b7b0e804e5
MSL: Support run-time sized image and sampler arrays
...
(GL_EXT_nonuniform_qualifier/SPV_EXT_descriptor_indexing).
MSLResourceBinding includes array size through API, and substitutes
in that size if the image or sampler array is not explicitly sized.
OpCopyObject supports SPIRCombinedImageSampler type in MSL.
2020-10-29 18:50:42 -04:00
Hans-Kristian Arntzen
08e49bfd67
Merge pull request #1508 from KhronosGroup/fix-1507
...
Handle case where block is loop header, continue AND break block.
2020-10-28 16:04:14 +01:00
Hans-Kristian Arntzen
542d460364
Handle case where block is loop header, continue AND break block.
2020-10-27 12:29:08 +01:00
Hans-Kristian Arntzen
e47561a28b
GLSL: Support a workaround for loading row-major matrices.
...
On AMD Windows OpenGL, it has been reported that we need to load
matrices via a wrapper function.
2020-10-27 12:07:09 +01:00
Hans-Kristian Arntzen
0db1569e97
Merge pull request #1492 from KhronosGroup/non-native-matrix-fix
...
GLSL: Use need_transpose when checking for non-native matrix.
2020-10-15 10:52:44 +02:00
Chip Davis
3e6010d8c5
MSL: Don't use a bitcast for tessellation levels in tesc shaders.
...
`half` cannot be bitcasted to `float`, because the two types are not the
same size. Use an expanding cast instead.
We were already doing this for stores to the tessellation levels; why I
didn't also do this for loads is beyond me.
2020-10-14 18:35:59 -05:00
Hans-Kristian Arntzen
120af42616
GLSL: Use need_transpose when checking for non-native matrix.
2020-10-14 16:07:10 +02:00
Hans-Kristian Arntzen
5619329665
Style nits for GL subgroup implementation.
2020-10-08 13:25:29 +02:00
Hans-Kristian Arntzen
819c599ecd
Merge branch 'issues1350-2' of git://github.com/devshgraphicsprogramming/SPIRV-Cross into master
2020-10-08 12:20:07 +02:00
criss
db52e277b9
Resolved issues 1350, 1351, 1352
2020-10-08 12:14:52 +02:00
Hans-Kristian Arntzen
e0c9aad934
GLSL: Add support for transform_feedback3 geometry streams.
2020-09-30 13:01:35 +02:00
Hans-Kristian Arntzen
7a99d1cb72
GLSL: Use literal array size for cull/clip array sizes.
2020-09-30 13:01:18 +02:00
Hans-Kristian Arntzen
5ea576ece2
Allow flip_vert_y in all relevant stages.
2020-09-28 14:10:08 +02:00
Hans-Kristian Arntzen
2144274a91
Clean up conditional branch codegen.
...
Should only need to look at whether or not we're branching to our own
merge target. Any other branch needs to emit code in some way.
2020-09-17 12:12:37 +02:00
Hans-Kristian Arntzen
54cc0b01f6
Deal with case where a selection construct conditionally merges/breaks.
2020-09-17 12:02:43 +02:00
Hans-Kristian Arntzen
66afe8c499
Implement a simple evaluator of specialization constants.
...
In some cases, we need to get a literal value from a spec constant op.
Mostly relevant when emitting buffers, so implement a 32-bit integer
scalar subset of the evaluator. Can be extended as needed to support
evaluating any specialization constant operation.
2020-09-14 11:45:59 +02:00
Hans-Kristian Arntzen
18d03b3ea6
Handle OpUndef %void.
...
Apparently this is legal and spirv-opt is starting to emit this kind of
code now.
2020-09-04 09:29:44 +02:00
Hans-Kristian Arntzen
3360daa6f3
MSL: Fix OpCompositeInsert and OpVectorInsertDynamic.
...
Need to take care of unpacked RHS expressions.
2020-09-02 10:27:39 +02:00