Hans-Kristian Arntzen
61bbcb2705
Merge pull request #2232 from KhronosGroup/fix-2228
...
MSL: Add divide to reserved function names.
2023-11-27 16:31:01 +01:00
Hans-Kristian Arntzen
81c047c3ed
MSL: Use more appropriate padded types.
2023-11-27 16:30:24 +01:00
Hans-Kristian Arntzen
57dbfa0400
MSL: Support std140 half matrices and arrays.
...
Super awkward since there is no clean way to express this.
2023-11-27 15:28:20 +01:00
Hans-Kristian Arntzen
dddabb9c11
MSL: Add divide to reserved function names.
2023-11-27 12:14:30 +01:00
Hans-Kristian Arntzen
42299f92ef
Merge pull request #2230 from chirsz-ever/chirsz/custom-float-formater
...
Allow to customize float literals in output
2023-11-24 12:47:51 +01:00
Hans-Kristian Arntzen
3e8e761e49
Apply suggestions from code review
2023-11-24 12:46:50 +01:00
Hans-Kristian Arntzen
94f4c48faf
Apply suggestions from code review
2023-11-24 12:46:28 +01:00
chirsz-ever
20dd53b312
Allow to customize float literals in output
2023-11-22 22:17:24 +08:00
chirsz-ever
ec7a23c826
Add "build" to .gitignore
2023-11-22 20:05:42 +08:00
Hans-Kristian Arntzen
42aac916ab
Merge pull request #2227 from elizagamedev/exv/essl1-uint-bool-hack
...
Workaround for generating bool uniforms in ESSL1
2023-11-16 15:47:51 +01:00
Hans-Kristian Arntzen
bf059200be
Only use lowp path for legacy ES
2023-11-16 14:00:48 +01:00
Hans-Kristian Arntzen
0e9bc69128
Review nit, update brace placement
2023-11-16 14:00:00 +01:00
Eliza Velasquez
93150ed7fb
Workaround for generating bool uniforms in ESSL1
...
Fixes #2223 .
2023-11-13 15:23:36 -08:00
Hans-Kristian Arntzen
4818f7e7ef
Merge pull request #2222 from billhollings/fix-runtime-array-regression
...
MSL: Fix regression error in argument buffer runtime arrays.
2023-11-03 11:18:21 +01:00
Bill Hollings
4a42191240
MSL: Fix regression error in argument buffer runtime arrays.
...
Argument buffers can contain multiple runtime arrays if they have fixed
lengths as specified by the binding API. Regression error had assumed each
runtime array is in separate argument buffer with undefined array length.
- Add CompilerMSL::is_var_runtime_size_array() to include test for
setting of array length via CompilerMSL::add_msl_resource_binding().
- Fixed unrelated test case MSL compile syntax failure when acceleration
structure is the first entry point function argument (unrelated).
2023-11-02 23:53:59 -04:00
Hans-Kristian Arntzen
637cff3d05
Merge pull request #2220 from KhronosGroup/pr-2208
...
Land PR 2208 and fix more issues with sample mask
2023-10-23 15:21:23 +02:00
Hans-Kristian Arntzen
2fba284b4e
MSL: Improve handling of sample masks.
2023-10-23 14:40:28 +02:00
Hans-Kristian Arntzen
56bdcfaf0e
Add test for sample mask bulk load/store.
2023-10-23 12:45:08 +02:00
Hans-Kristian Arntzen
0bedb69b02
HLSL: Declare sample mask array with proper module type.
...
GLSL uses int[] and HLSL emits uint[], and to deal properly
with array copies where we lose ability to rewrite arithmetic types,
we need to declare with proper type.
2023-10-23 12:29:25 +02:00
Hans-Kristian Arntzen
f12ee5e0a4
Merge remote-tracking branch 'epic/fixes_hlsl'
2023-10-23 11:54:49 +02:00
Laura Hermanns
5d7ee6ad11
Fix declaration of gl_SampleMaskIn[1] in HLSL backend.
2023-10-17 09:11:09 -04:00
Hans-Kristian Arntzen
2de1265fca
Merge pull request #2218 from KhronosGroup/pr-2217
...
Merge PR 2217
2023-10-16 12:19:24 +02:00
Hans-Kristian Arntzen
a4b8553982
Style fixups.
2023-10-16 11:55:41 +02:00
Hans-Kristian Arntzen
f30d280e7b
Fixup stray comments in test_shaders.sh.
2023-10-16 11:52:21 +02:00
Hans-Kristian Arntzen
2d072c6828
Merge branch 'metal-3-1-regression-fix' of https://github.com/billhollings/SPIRV-Cross
2023-10-16 11:52:11 +02:00
Bill Hollings
16fbf8872a
MSL: Workaround Metal 3.1 regression bug on recursive input structs.
...
Metal 3.1 introduced a Metal regression bug which causes an infinite recursion
crash during Metal's analysis of an entry point input structure that itself
contains internal recursion. This patch works around this by replacing the
recursive input declaration with a alternate variable of type void*, and
then casting to the correct type at the top of the entry point function.
- Add CompilerMSL::Options::replace_recursive_inputs to enable
replacing recursive input.
- Add Compiler::type_contains_recursion() to determine if a struct
contains internal recursion, and add custom Decorations to mark
such structs, to short-cut future similar checks.
- Replace recursive input struct declarations with void*,
and emit a recast to correct type at top of entry function.
- Add unit test.
- Compiler::type_is_top_level_block() remove hardcode reference to spirv_cross
namespace, as it interferes with configurable namespaces (unrelated).
2023-10-14 14:46:47 -04:00
Hans-Kristian Arntzen
105d5a8a79
Fix stray namespace issue.
2023-10-14 12:36:49 +02:00
Hans-Kristian Arntzen
724433d729
Merge pull request #2216 from KhronosGroup/buffer-reference-2
...
GLSL: Use buffer_reference2 instead of 1.
2023-10-11 14:20:36 +02:00
Hans-Kristian Arntzen
082b1df25f
Merge pull request #2215 from KhronosGroup/fix-2210
...
GLSL: Fix and workaround some awkward code patterns
2023-10-11 14:20:11 +02:00
Hans-Kristian Arntzen
255ff2b19c
GLSL: Use buffer_reference2 instead of 1.
...
Supports more syntax.
2023-10-11 14:18:36 +02:00
Hans-Kristian Arntzen
be944258be
GLSL: Ignore bogus constant/undefs which use block types.
...
This is banned in more recent SPIR-V.
We cannot implement this in any reasonable way since block types don't
participate as normal types in GLSL.
2023-10-11 13:48:25 +02:00
Hans-Kristian Arntzen
75620181bc
GLSL: Handle empty block declarations.
...
Similar fix as for structs.
2023-10-11 13:09:55 +02:00
Hans-Kristian Arntzen
73726f37c5
HLSL: Add missing reference output file.
2023-10-11 13:03:08 +02:00
Hans-Kristian Arntzen
09ba765844
MSL: Use powr instead of pow.
...
powr's additional UB rules match SPIR-V.
2023-10-11 12:55:12 +02:00
Hans-Kristian Arntzen
79401259fd
Merge pull request #2207 from etang-cw/CacheSpirvTools
...
Improve CI build times
2023-10-10 12:14:39 +02:00
Hans-Kristian Arntzen
1f289d38b2
Merge pull request #2211 from EpicGames/main
...
Add Natvis file with debug information for VectorView and SmallVector.
2023-10-10 12:03:36 +02:00
Laura Hermanns
5071f6c38e
Add Natvis file with debug information for VectorView and SmallVector.
2023-10-09 14:01:53 -04:00
Evan Tang
f9dd8099fb
Parallelize Github Actions builds
2023-10-03 15:29:02 -05:00
Evan Tang
5de6ae9d1e
Cache externals in GitHub Actions
2023-10-03 15:29:02 -05:00
Hans-Kristian Arntzen
37fee00a71
Merge pull request #2205 from Try/hlsl-ssbo-array-store-fix
...
Fix unroll, when storing to pointer to array
2023-10-02 12:33:46 +02:00
Try
967ad0bb4d
Fix unroll, when storing to pointer to array
...
#fixed #2196
2023-09-28 23:58:51 +02:00
Hans-Kristian Arntzen
6e1fb9b09e
Merge pull request #2203 from Try/msl-atomics-fix
...
MSL: fix extraction of global variables, in case of atomics
2023-09-25 10:39:13 +02:00
Hans-Kristian Arntzen
1870ec752c
Merge pull request #2201 from Try/msl-rayquery-mutability-fix
...
MSL: fix mutability for rayQueryEXT parameters
2023-09-25 10:36:21 +02:00
Try
43a59b7cff
fix extraction of global variables, in case of atomics
2023-09-19 21:44:57 +02:00
Try
da9c861ed0
MSL: fix mutability for rayQueryEXT parameters
2023-09-16 19:33:27 +02:00
Hans-Kristian Arntzen
5e963d62fa
Merge pull request #2197 from Try/rich-descriptor-fixup
...
Fixup check for SPVFuncImplVariableSizedDescriptor
2023-09-12 11:42:26 +02:00
Try
8af391ec5d
check for SPVFuncImplVariableSizedDescriptor
2023-09-06 22:32:42 +02:00
Hans-Kristian Arntzen
54997fb4bc
Merge pull request #2193 from KhronosGroup/fix-2192
...
MSL: Workaround bizarre crash on macOS.
2023-08-28 21:53:24 +02:00
Hans-Kristian Arntzen
b17dd5895a
MSL: Workaround bizarre crash on macOS.
2023-08-28 11:54:58 +02:00
Hans-Kristian Arntzen
7ba6f5ce90
Merge pull request #2190 from hiteshbosamiya/SC-2189
...
[SC-2189] Compiler::get_shader_resources() does not return all uniforms
2023-08-28 11:33:00 +02:00