[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][xorg-team/vulkan/spirv-cross][upstream-unstable] 382 commits: HLSL: Support PointSize output in vertex shader in SM 3.0



Title: GitLab

Dylan Aïssi pushed to branch upstream-unstable at X Strike Force / vulkan / spirv-cross

Commits:

  • 26da9c58
    by rdb at 2023-01-17T23:42:04+01:00
    HLSL: Support PointSize output in vertex shader in SM 3.0
    
  • c9f2186e
    by warmenhoven at 2023-01-17T23:17:22-05:00
    Win10 doesn't like std::max
  • c1023854
    by Hans-Kristian Arntzen at 2023-01-18T11:56:23+01:00
    Merge pull request #2088 from rdb/hlsl-legacy-point-size
    
    HLSL: Support PointSize output in vertex shader in SM 3.0
  • 4be568c0
    by Hans-Kristian Arntzen at 2023-01-18T12:06:28+01:00
    Merge pull request #2089 from warmenhoven/patch-1
    
    Win10 doesn't like std::max
  • 2a9091ce
    by Chip Davis at 2023-01-18T19:34:29-08:00
    MSL: Use `rint()` instead of `round()` to round array coordinates.
    
    Vulkan specifies round-to-nearest-even mode to round array coordinates.
    But we were using `round()`, which is round-to-nearest-away-from-zero.
    Instead, use `rint()`, which is specified to perform nearest-even
    rounding in MSL.
    
  • 3335835f
    by Lachlan Deakin at 2023-01-19T22:28:38+11:00
    GLSL: Support OpReadClockKHR
    
  • e6d1c76e
    by rdb at 2023-01-19T14:18:01+01:00
    Add early exit for test_shaders if compilation fails
  • 85a78324
    by Hans-Kristian Arntzen at 2023-01-20T16:51:16+01:00
    MSL: Fix potentially uninitialized warning.
    
  • f3a75d1d
    by Hans-Kristian Arntzen at 2023-01-20T16:56:11+01:00
    MSL: Fix another warning on potentially uninitialized.
    
  • 5029e30f
    by libretroadmin at 2023-01-20T18:36:11+01:00
    (spirv_glsl.cpp) Fix error: no matching function for call to 'max(uint32_t&, unsigned int)'
    
  • eb9b2732
    by Hans-Kristian Arntzen at 2023-01-20T18:39:38+01:00
    Merge pull request #2094 from LibretroAdmin/main
    
    (spirv_glsl.cpp) Fix error: no matching function for call to 'max(uint32_t&, unsigned int)'
  • dff27698
    by rdb at 2023-01-21T11:42:55+01:00
    GLSL: Multiplying matrix with scalar shouldn't force transpose
    
  • 2202c2a7
    by rdb at 2023-01-23T11:55:53+01:00
    GLSL: Add various additional extension checks.
    
  • d70bfa5f
    by rdb at 2023-01-23T14:51:26+01:00
    GLSL: Allow sample inputs in desktop < 400 with GL_ARB_sample_shading
    
    Neither legacy ES nor legacy desktop support these extensions
    
  • c98ebc03
    by Hans-Kristian Arntzen at 2023-01-26T15:14:08+01:00
    Merge pull request #2092 from rdb/patch-1
    
    Add early exit for test_shaders if compilation fails
  • 45824ea1
    by Hans-Kristian Arntzen at 2023-01-26T15:38:05+01:00
    Merge pull request #2095 from rdb/glsl-matrix-times-scalar-no-transpose
    
    GLSL: Multiplying matrix with scalar shouldn't force transpose
  • 9da448c9
    by Hans-Kristian Arntzen at 2023-01-26T15:41:15+01:00
    Merge pull request #2096 from rdb/glsl-extension-checks
    
    GLSL: Add various missing extension checks
  • f575b894
    by Hans-Kristian Arntzen at 2023-01-26T15:41:40+01:00
    Merge pull request #2091 from LDeakin/shader-clock
    
    GLSL: Support OpReadClockKHR
  • 9de5abaf
    by Hans-Kristian Arntzen at 2023-01-26T15:41:51+01:00
    GLSL: Minor fixes for shader clock implementation.
    
  • ff7a11db
    by Hans-Kristian Arntzen at 2023-01-26T17:14:38+01:00
    Merge pull request #2097 from KhronosGroup/shader-clock-tweaks
    
    GLSL: Minor fixes for shader clock implementation.
  • d10044b2
    by rdb at 2023-01-26T19:14:25+01:00
    GLSL: Add support for modf, isnan and isinf in legacy GLSL
    
  • 53974b4f
    by rdb at 2023-01-26T19:40:42+01:00
    GLSL/HLSL: Add emulated fallbacks for sinh/cosh/tanh/asinh/acosh/atanh
    
    The inverse hyperbolic functions are not supported in HLSL, and none of them are supported in legacy GLSL.
    
  • f8cc03fd
    by rdb at 2023-01-27T11:10:47+01:00
    GLSL: Drop invariant keyword in GLSL 110
  • 99f130bb
    by Hans-Kristian Arntzen at 2023-01-27T12:10:02+01:00
    Merge pull request #2099 from rdb/patch-1
    
    GLSL: Drop invariant keyword in GLSL 110
  • cd612e7d
    by Hans-Kristian Arntzen at 2023-01-27T12:13:14+01:00
    Merge pull request #2090 from rdb/glsl-legacy-math-funcs
    
    GLSL: Add support for trunc, modf, isnan and isinf in legacy GLSL
  • 86a985f2
    by Hans-Kristian Arntzen at 2023-01-27T12:15:28+01:00
    Merge pull request #2093 from rdb/emulate-unsupported-hyperbolic-funcs
    
    GLSL/HLSL: Add emulated fallbacks for hyperbolic math functions
  • 20981666
    by rdb at 2023-01-27T13:51:47+01:00
    GLSL: Legacy matrix inverse/determinant polyfills, outerProduct()
    
    Also refactors polyfill mechanism in GLSL and fixes transpose() lowering precision.
    
  • 199d0cb8
    by Hans-Kristian Arntzen at 2023-01-27T14:37:45+01:00
    Merge pull request #2100 from rdb/glsl-matrix-polyfills
    
    GLSL: Add matrix inverse/determinant polyfills, outerProduct()
  • c356dd62
    by rdb at 2023-01-27T21:44:47+01:00
    GLSL: Fix missing precision qualifier in spvDeterminant return value
    
    Follow-up to #2100
    
  • 459fa679
    by Hans-Kristian Arntzen at 2023-02-02T11:26:06+01:00
    Merge pull request #2101 from rdb/glsl-fix-missing-qualifier
    
    GLSL: Fix missing precision qualifier in spvDeterminant return value
  • 36691f90
    by Ravbug at 2023-02-02T12:42:17-05:00
    Check for SM < 6.7
    
  • e8d41985
    by Chip Davis at 2023-02-02T22:01:46-08:00
    MSL: Add a workaround for broken `level()` arguments.
    
    Some Metal devices have a bug with depth array textures using comparison
    with explicit LoD, where the LoD given will be biased by some amount.
    For these devices, we can use a gradient instead, which does not exhibit
    this problem. As with the fragment demote workaround, this is only
    expected to be needed until the bug is fixed in Metal.
    
  • 38843160
    by Hans-Kristian Arntzen at 2023-02-03T16:36:44+01:00
    Merge pull request #2103 from cdavis5e/msl-sample-dref-lod-array-workaround
    
    MSL: Add a workaround for broken `level()` arguments.
  • 4e2fdb25
    by Hans-Kristian Arntzen at 2023-02-03T17:05:31+01:00
    Merge pull request #2104 from Ravbug/fix-int-sm6.7
    
    Support integer samplers in Shader Model 6.7
  • a57dba53
    by Randall C. O'Reilly at 2023-02-04T21:47:08-08:00
    add support for OpAtomicFAddEXT atomic add on float types, now avail in metal 3.0
    
  • c4b7ec10
    by Randall C. O'Reilly at 2023-02-04T21:52:07-08:00
    add OpAtomicFMinEXT and Max as well, while we're at it -- I didn't test those but presumably work the same.
    
  • bff7680c
    by Randall C. O'Reilly at 2023-02-14T16:43:50-08:00
    revert FMinEXT, FMaxExt
    
  • 8e20860b
    by Randall C. O'Reilly at 2023-02-15T00:04:44-08:00
    added tests and added msl3 to test_shaders.py
    
  • 41007cdc
    by Chip Davis at 2023-02-17T10:43:50-08:00
    MSL: Deduplicate function constants.
    
    It is possible in SPIR-V to declare multiple specialization constants
    with the same constant ID. The most common cause of this in GLSL is
    defining a spec constant, then declaring the workgroup size to use that
    spec constant by its ID. But, MSL forbids defining multiple function
    constants with the same function constant ID. So, we must only emit one
    definition of the actual function constant (with the
    `[[function_constant(id)]]` attribute); but we can point the other
    variables at this one definition.
    
    Fixes three tests in the Vulkan CTS under
    `dEQP-VK.compute.basic.max_local_size_*`.
    
  • 29f959db
    by Randall C. O'Reilly at 2023-02-18T03:10:58-08:00
    update msl_compiler_supports_version to work with metal 3.0
    
  • 5e512971
    by Hans-Kristian Arntzen at 2023-02-20T12:56:25+01:00
    Merge pull request #2108 from cdavis5e/msl-duplicate-spec-id
    
    MSL: Deduplicate function constants.
  • c76111f2
    by Randall C. O'Reilly at 2023-02-20T04:41:28-08:00
    cleaner version check
    
  • 3550a54a
    by Hans-Kristian Arntzen at 2023-02-21T13:05:31+01:00
    Merge pull request #2105 from goki/main
    
    add support for OpAtomicFAddEXT atomic add, and also Min, Max
  • f086cd02
    by skkkksdkfak at 2023-02-24T11:00:41+01:00
    Fix argument for CommitProceduralPrimitiveHit.
    
  • 83650af3
    by Laura Hermanns at 2023-02-27T11:51:49-05:00
    GLSL: Don't create temporaries for sampled image types in GLSL.
    
    This fixes a bug that was exposed when targeting GLSL with
    Vulkan semantics while 'force_temporary' is enabled.
    
  • 7512345f
    by Hans-Kristian Arntzen at 2023-02-27T20:36:36+01:00
    Merge pull request #2110 from EpicGames/fixes_glsl
    
    GLSL: Don't create temporaries for sampled image types in GLSL.
  • 46a7ce8d
    by Nathan Gauër at 2023-03-09T17:03:53+01:00
    adds Khronos license to LICENSES folder.
    
    This license is in spirv.h, but absent from the LICENSES file.
    
  • 2d598f29
    by Nathan Gauër at 2023-03-09T18:23:49+01:00
    try adding SPDX notice
    
  • ada70640
    by Nathan Gauër at 2023-03-13T14:01:13+01:00
    applying pr feedback
    
  • 0d8cfdb4
    by Nathan Gauër at 2023-03-13T15:41:15+01:00
    revert trailing space fix
    
  • d26c233e
    by Hans-Kristian Arntzen at 2023-03-13T17:22:12+01:00
    Merge pull request #2121 from Keenuts/licenses
    
    adds Khronos license to LICENSES folder.
  • 5ca8266e
    by Skye at 2023-03-16T19:09:55+00:00
    Implement setscalar fns for all getscalar fns
    
  • 0c1302bb
    by Skye at 2023-03-17T17:49:08+00:00
    bumped version, corrected function signatures
    
  • dd8839c6
    by Try at 2023-03-18T17:20:16+01:00
    task shader initial
    
  • 7ac2c84f
    by Try at 2023-03-18T19:50:28+01:00
    code-style
    
  • a25d0aca
    by Gulfem Savrun Yeniceri at 2023-03-20T20:50:03+00:00
    Add missing <exception> include
    
    https://reviews.llvm.org/D146097 removed the transitive include for
    <exception>, which caused the following issue:
    
    In file included from ../../third_party/spirv-cross/spirv_common.hpp:28:
    ../../third_party/spirv-cross/spirv_cross_containers.hpp:334:9: error:
    no member named 'terminate' in namespace 'std
    
    This patch adds the missing include to fix the issue.
    
  • 202bf053
    by Hans-Kristian Arntzen at 2023-03-21T12:21:47+01:00
    Merge branch 'hlsl_fix_hit_t_arg' of https://github.com/skkkksdkfak/SPIRV-Cross
    
  • 8c509fec
    by Hans-Kristian Arntzen at 2023-03-21T12:23:40+01:00
    HLSL: Update rayquery reference.
    
  • 763dbe14
    by Hans-Kristian Arntzen at 2023-03-21T12:56:03+01:00
    Merge pull request #2125 from gulfemsavrun/main
    
    Add missing <exception> include
  • 4a5d21bf
    by Try at 2023-03-21T21:08:59+01:00
    virtual emit_mesh_tasks
    
  • cb45e4be
    by Try at 2023-03-21T21:11:07+01:00
    cleanup
    
  • 09e60d74
    by Hans-Kristian Arntzen at 2023-03-22T12:36:47+01:00
    Merge pull request #2124 from Try/hlsl-task-shader
    
    HLSL: Add task(amplification) shader support
  • 4a4ac7f9
    by John Wells at 2023-03-23T19:04:50-04:00
    Fix for argument buffer index compare when invalid
    
  • e31deb83
    by John Wells at 2023-03-23T19:05:12-04:00
    Fix for typo in help
    
  • f3d05a5a
    by Skye at 2023-03-28T16:46:03+01:00
    Merge branch 'KhronosGroup:main' into main
    
  • a3b5cdc5
    by Skye at 2023-03-28T16:47:43+01:00
    update f32 to u32
    
  • 42a89a58
    by John Wells at 2023-03-29T13:52:42-04:00
    Add code braces
    
  • 8e64f8ee
    by Hans-Kristian Arntzen at 2023-03-29T20:36:10+02:00
    Merge pull request #2123 from piegfx/main
    
    Implement set_scalar functions in the specialization constants C API
  • 275e4d7e
    by John Wells at 2023-03-29T21:55:32-04:00
    Make argument buffer padding testable
    
  • 4c622ce0
    by John Wells at 2023-03-30T11:13:39-04:00
    Revert "Make argument buffer padding testable"
    
    This reverts commit 275e4d7e88bf5495c8fd69a0bde814ec82338b2e.
    
  • 50623e13
    by Hans-Kristian Arntzen at 2023-03-30T17:24:11+02:00
    GLSL: Fix _expression_ reorder bug with legacy FMA fallback.
    
  • abd23cc2
    by Hans-Kristian Arntzen at 2023-03-30T18:01:09+02:00
    Merge pull request #2127 from attackgoat/aliased-descriptor-fix
    
    Aliased descriptor fix
  • 3327924a
    by Hans-Kristian Arntzen at 2023-03-30T18:25:35+02:00
    Merge pull request #2130 from KhronosGroup/fix-2129
    
    GLSL: Fix _expression_ reorder bug with legacy FMA fallback.
  • 1f6653ec
    by Hans-Kristian Arntzen at 2023-03-30T18:30:44+02:00
    MSL: Do not override variable name late.
    
    If we have emitted block IO lowering at the end of vertex shader, we
    will end up using the wrong name. Forcing a v_ prefix does not solve any
    actual problems since the intentifier already has to be valid.
    
  • 1d4e0637
    by Hans-Kristian Arntzen at 2023-03-30T18:30:44+02:00
    HLSL: Add missing test reference.
    
  • 884e5c0e
    by Hans-Kristian Arntzen at 2023-03-30T18:30:44+02:00
    MSL: Add test for block IO output with function use.
    
  • b693d8fa
    by georgeouzou at 2023-04-02T01:25:15+03:00
    GLSL: Support KHR_subgroup_arithmetic IAdd
    
    Support NV workarounds for IAdd Reduce/InclusiveScan/ExclusiveScan
    
  • dbf62188
    by georgeouzou at 2023-04-02T10:45:25+03:00
    GLSL: Support KHR_subgroup_arithmetic FAdd
    
    Support NV workarounds for FAdd Reduce/InclusiveScan/ExclusiveScan
    
  • ab3a6212
    by georgeouzou at 2023-04-03T18:42:08+03:00
    GLSL: Checking for inactive threads in non uniform arithmetic ops
    
    The last argument of shuffle*NV functions does not return if the
    current thread is inactive, but only if it is out of range.
    
  • 168e9f2c
    by georgeouzou at 2023-04-03T19:13:30+03:00
    GLSL: Support KHR_subgroup_arithmetic IMul/FMul
    
    Support NV workarounds for IMul/FMul Reduce/InclusiveScan/ExclusiveScan
    
  • d1ac6524
    by 手机用户Xh2vb13n at 2023-04-10T16:55:38+08:00
    HLSL: support Texture2D::GatherCmp function
    
    refer to https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/sm5-object-texture2d-gathercmp
  • e57b901d
    by Hans-Kristian Arntzen at 2023-04-11T17:06:56+02:00
    MSL: Use name_id consistently in argument declaration.
    
  • 3fa767db
    by Hans-Kristian Arntzen at 2023-04-11T19:01:51+02:00
    Merge pull request #2135 from d34d633f/patch-1
    
    HLSL: support Texture2D::GatherCmp function
  • fc9bee27
    by Hans-Kristian Arntzen at 2023-04-11T23:17:51+02:00
    Merge pull request #2131 from KhronosGroup/fix-2128
    
    MSL: Don't append v_ identifier
  • 16b5ce09
    by Laura Hermanns at 2023-04-24T20:36:44-04:00
    GLSL: Use actual field offset to validate vec4 boundary alignment.
    
  • b19aa51e
    by Laura Hermanns at 2023-04-25T09:33:40-04:00
    HLSL: Don't restrict SV_RenderTargetArrayIndex to GS and MS.
    
  • 0f48b39b
    by Hans-Kristian Arntzen at 2023-04-27T16:58:27+02:00
    Merge pull request #2138 from EpicGames/fixes_hlsl
    
    HLSL: Don't restrict SV_RenderTargetArrayIndex to GS and MS.
  • da12e7ad
    by Hans-Kristian Arntzen at 2023-04-27T17:03:47+02:00
    Merge pull request #2139 from EpicGames/fixes_glsl
    
    GLSL: Use actual field offset to validate vec4 boundary alignment.
  • 6eec0afb
    by Hans-Kristian Arntzen at 2023-04-27T17:05:06+02:00
    Update Ubuntu CI versions.
    
  • a5ec818d
    by Hans-Kristian Arntzen at 2023-04-27T17:40:02+02:00
    HLSL: Add test for straddling + holes in struct.
    
  • 4faeb81f
    by Hans-Kristian Arntzen at 2023-04-27T17:40:47+02:00
    Merge pull request #2141 from KhronosGroup/ci-update
    
    Update Ubuntu version in CI.
  • 813cfdce
    by George Ouzounoudis at 2023-05-01T14:24:33+03:00
    GLSL: Address review comments
    
    Fix a warning and some format issues
    
  • ff962261
    by George Ouzounoudis at 2023-05-01T15:51:54+03:00
    GLSL: Add tests for subgroup iadd, fadd, imul, fmul
    
  • 54b48a2f
    by Hans-Kristian Arntzen at 2023-05-10T11:32:00+02:00
    Merge pull request #2133 from georgeouzou/main
    
    GLSL: Support GL_KHR_shader_subgroup_arithmetic (WIP)
  • 88790d31
    by Hans-Kristian Arntzen at 2023-05-10T12:35:47+02:00
    GLSL: Disambiguate pointer vs array properly in packed_size/alignment.
    
  • 193ca867
    by Hans-Kristian Arntzen at 2023-05-10T12:46:35+02:00
    MSL: Don't hit array copy path for pointer to array.
    
    Pointee type of load and store pointers must be a top-level array type.
    
  • cfd1618e
    by Hans-Kristian Arntzen at 2023-05-10T13:33:54+02:00
    MSL: Use templated array type when emitting BDA to arrays.
    
    Handling native array types is not really feasible since we need to fuse
    the variable declaration with the type declaration.
    
    This is feasible in something like variable_decl, but for plain SSA
    pointers, this breaks down.
    
  • 71fe651e
    by Hans-Kristian Arntzen at 2023-05-11T11:42:32+02:00
    Be more precise in usage of pointer/array mixing.
    
  • 34cd230e
    by Evan Tang at 2023-05-11T19:39:38-05:00
    MSL: Fix dref lod workaround on combined texture/samplers
    
  • c26a2e8e
    by Trass3r at 2023-05-12T12:27:40+02:00
    upload binaries as artifacts (#2144)
    
    Upload artifacts to CI as well.
  • 7cb2f62e
    by Hans-Kristian Arntzen at 2023-05-12T12:28:52+02:00
    Merge pull request #2147 from KhronosGroup/fix-2145
    
    Fix misc bugs with mixed pointer/array types in buffers
  • bcb62437
    by Laura Hermanns at 2023-05-12T14:41:00-04:00
    HLSL: Add support to preserve (RW)StructuredBuffer resources.
    
  • 28b11e01
    by Hans-Kristian Arntzen at 2023-05-16T17:05:19+02:00
    Merge pull request #2148 from etang-cw/FixDref
    
    MSL: Fix dref lod workaround on combined texture/samplers
  • 578bdf41
    by Laura Hermanns at 2023-05-17T13:52:24-04:00
    Added tests for HLSL structured buffers.
    
  • 6df60be6
    by Hans-Kristian Arntzen at 2023-05-19T11:10:24+02:00
    Merge remote-tracking branch 'epic/fixes_hlsl'
    
  • 63ea1a52
    by Hans-Kristian Arntzen at 2023-05-19T11:38:09+02:00
    HLSL: Add CLI option for --hlsl-preserve-structured-buffers.
    
  • bf752eda
    by Hans-Kristian Arntzen at 2023-05-19T11:38:12+02:00
    Update test output for preserve structured.
    
  • 12542fc6
    by Hans-Kristian Arntzen at 2023-05-19T12:44:33+02:00
    Merge pull request #2152 from KhronosGroup/fix-2143
    
    Land PR 2143
  • c4fdb3f3
    by Tibor Klajnscek at 2023-05-26T15:43:43+02:00
    added get_required_extensions() API to GLSL compiler
    
  • 17ddd591
    by rcombs at 2023-05-27T22:25:02-05:00
    MSL: fix function constant deduplication misfire
    
    Previously, if a constant without DecorationSpecId occurred before the constant with DecorationSpecId 0, it would be inserted into the unique_func_constants map with key 0 (the default return value from get_decoration). This prevented us from ever emitting the declaration with [[function_constant(0)]], which produced some bizarre MSL compilation errors.
    
    Instead, we now only insert into unique_func_constants when we know we're going to emit a [[function_constant(…)]] line.
    
    This regressed in 41007cdc7d9c3a1f9b61e307d149f94a68fa3c9c.
  • bb0c17f8
    by Stephen Hutchinson at 2023-05-30T00:56:01-04:00
    Add pkg-config file for static builds
    
    Addresses issue #2117
    
  • 0bef74c0
    by Stephen Hutchinson at 2023-05-30T00:56:01-04:00
    CMakeLists/pkgconfig: use a single version definition
    
    Avoids having duplicate copies in both SPIRV_CROSS_STATIC and
    SPIRV_CROSS_SHARED if blocks
    
  • d01006ec
    by Hans-Kristian Arntzen at 2023-06-06T12:34:23+02:00
    Merge pull request #2157 from rcombs/patch-1
    
    MSL: fix function constant deduplication misfire
  • 2ace2714
    by Hans-Kristian Arntzen at 2023-06-06T12:41:59+02:00
    Apply suggestions from code review
  • bf3f651f
    by Hans-Kristian Arntzen at 2023-06-06T12:58:22+02:00
    Workaround MSVC jank
  • c4eb2317
    by Hans-Kristian Arntzen at 2023-06-06T13:19:21+02:00
    MSL: Consider bool/short remapping when dealing with composites.
    
  • 01b98264
    by Hans-Kristian Arntzen at 2023-06-06T13:55:29+02:00
    MSL: Handle stores to struct bool[].
    
  • bbcd8de9
    by Hans-Kristian Arntzen at 2023-06-06T15:05:56+02:00
    MSL: Handle more complex array copy scenarios with bool <-> short.
    
  • b0b2fd8d
    by Hans-Kristian Arntzen at 2023-06-06T15:17:23+02:00
    MSL: Add test for bool-in-struct edge cases.
    
  • 2d4587cd
    by Hans-Kristian Arntzen at 2023-06-06T15:21:42+02:00
    Merge pull request #2155 from tklajnscek/tk_glsl_get_extensions_api
    
    Added get_required_extensions() API to GLSL compiler
  • a20fc9ac
    by Hans-Kristian Arntzen at 2023-06-06T15:21:55+02:00
    Merge pull request #2159 from qyot27/static_pc
    
    Static pkg-config support
  • 28762d76
    by Hans-Kristian Arntzen at 2023-06-06T15:22:27+02:00
    spirv-cross-c: Bump minor version.
    
  • 55750be7
    by Hans-Kristian Arntzen at 2023-06-06T15:25:22+02:00
    Small cleanup after merge.
    
  • 74bae9a0
    by Hans-Kristian Arntzen at 2023-06-07T12:30:57+02:00
    Minor cleanup in constant_expression().
    
  • 87351086
    by Hans-Kristian Arntzen at 2023-06-07T12:33:37+02:00
    MSL: Consider bool-short remapping for constant expressions as well.
    
  • 13e6981c
    by Hans-Kristian Arntzen at 2023-06-07T13:54:50+02:00
    MSL: Consider changed array types for array-of-constant-bool in struct.
    
  • 17d00edd
    by Hans-Kristian Arntzen at 2023-06-07T13:58:54+02:00
    C-api: Fix warning.
    
  • 74702f50
    by Hans-Kristian Arntzen at 2023-06-07T15:30:10+02:00
    Merge pull request #2161 from KhronosGroup/fix-2151
    
    Fix more edge cases in bool <-> short remapping
  • 5b322555
    by Hans-Kristian Arntzen at 2023-06-07T15:31:29+02:00
    GLSL: Fix bug with mixed precision on PHI variables.
    
  • 030d0be2
    by Hans-Kristian Arntzen at 2023-06-07T16:27:50+02:00
    Merge pull request #2163 from KhronosGroup/fix-2162
    
    GLSL: Fix bug with mixed precision on PHI variables.
  • 0e1ce21d
    by Hans-Kristian Arntzen at 2023-06-12T12:33:58+02:00
    Skip line directives when emitting loop condition blocks.
    
    Avoids problem where enabling line directives breaks loop optimizations
    since it thinks there are legitimate statements in the block.
    
  • 2d3a1520
    by Hans-Kristian Arntzen at 2023-06-12T15:07:41+02:00
    Merge pull request #2167 from KhronosGroup/fix-2154
    
    Skip line directives when emitting loop condition blocks.
  • 85a56420
    by Try at 2023-06-18T16:06:31+02:00
    meshlet flip-y support
    
  • 34f7bd00
    by Try at 2023-06-18T16:19:49+02:00
    flip-y-test
    
  • 68f0257f
    by Chip Davis at 2023-06-23T14:54:16-07:00
    Use --preserve-numeric-ids when assembling test shaders.
    
    This makes it easier to debug codegen for these shaders.
    
  • 00f14ce7
    by Chip Davis at 2023-06-24T15:53:04-07:00
    MSL: Support `SPV_KHR_shader_ballot` and `SPV_KHR_subgroup_vote`.
    
    Normally, I wouldn't have bothered with this, given that we already
    support the Vulkan 1.1 subgroup functionality, but a client asked for
    the legacy extensions.
    
  • 4f7e62d1
    by Hans-Kristian Arntzen at 2023-06-26T12:19:25+02:00
    Merge pull request #2170 from cdavis5e/preserve-numeric-ids
    
    Use --preserve-numeric-ids when assembling test shaders.
  • 61d5ae9c
    by Hans-Kristian Arntzen at 2023-06-26T12:23:34+02:00
    Apply suggestions from code review
  • 9f463569
    by Hans-Kristian Arntzen at 2023-06-26T12:27:06+02:00
    Merge pull request #2172 from cdavis5e/msl-legacy-subgroup
    
    MSL: Support `SPV_KHR_shader_ballot` and `SPV_KHR_subgroup_vote`.
  • aafcc207
    by Hans-Kristian Arntzen at 2023-06-26T12:41:36+02:00
    HLSL: Add explicit error for floating point atomics.
    
  • 68376504
    by Try at 2023-07-01T15:49:35+02:00
    track access to meshlet position.y, via SPIRExpression
    
  • a065c3b4
    by Hans-Kristian Arntzen at 2023-07-03T13:55:02+02:00
    Merge branch 'dx12-mesh-flip-y' of https://github.com/Try/SPIRV-Cross into pr-2168
    
  • a3d711cb
    by Hans-Kristian Arntzen at 2023-07-03T14:03:04+02:00
    HLSL: Move new mesh shader around to more suitable location.
    
  • 601b60c5
    by Hans-Kristian Arntzen at 2023-07-03T14:15:26+02:00
    Consider plain Position builtin variable as well.
    
  • 8ec95fbe
    by Hans-Kristian Arntzen at 2023-07-03T14:20:27+02:00
    Consider dynamically indexed gl_Position in mesh.
    
  • 87e1ca42
    by Hans-Kristian Arntzen at 2023-07-03T14:25:22+02:00
    Add test for plain variable mesh position.
    
  • b8e742c9
    by Hans-Kristian Arntzen at 2023-07-03T15:52:20+02:00
    Merge pull request #2174 from KhronosGroup/pr-2168
    
    Land PR 2168
  • 62331b6a
    by Try at 2023-07-03T19:57:46+02:00
    + spvMakeIntersectionParams
    
    #2115
    
  • 35b23ef4
    by Try at 2023-07-03T20:04:23+02:00
    update rq unit tests
    
  • 6b2ae118
    by Try at 2023-07-03T21:45:34+02:00
    update rq unit tests
    
  • b43c1a1e
    by Hans-Kristian Arntzen at 2023-07-14T16:02:40+02:00
    Merge pull request #2176 from Try/msl-intersection-params
    
    MSL: ray-query intersection params
  • 05524e7f
    by Bill Hollings at 2023-07-14T18:57:34-04:00
    Fix argument buffer padding when content includes arrays.
    
    - When determining need for arg buffer padding, use the descriptor count provided
      by the app, rather than the shader, to determine the number of slots consumed,
      as the shader may only be accessing part, or even one element, of the array.
    
  • bccaa94d
    by Hans-Kristian Arntzen at 2023-07-26T10:52:38+02:00
    Merge pull request #2178 from billhollings/arg-buff-fixes
    
    Fix argument buffer padding when content includes arrays.
  • 4405dd6b
    by Evan Tang at 2023-08-15T11:32:33-05:00
    MSL: Prevent RAW hazards on read_write textures
    
  • 894113f5
    by Evan Tang at 2023-08-15T11:32:33-05:00
    MSL: Make rw texture fences optional
    
  • 637c211c
    by Hans-Kristian Arntzen at 2023-08-17T11:05:55+02:00
    Merge pull request #2153 from etang-cw/TexFence
    
    [WIP] MSL: Prevent RAW hazards on read_write textures
  • 844cb59c
    by Try at 2023-08-17T11:37:29+02:00
    MSL: runtime array over argument buffers
    
  • 44966e50
    by Hans-Kristian Arntzen at 2023-08-17T12:01:26+02:00
    MSL: Fixup nits from review.
    
  • 5ffc813d
    by Hans-Kristian Arntzen at 2023-08-17T12:07:11+02:00
    GLSL: Require mesh shader when using perprimitiveEXT in frag shader.
    
  • 5e3ea648
    by Hans-Kristian Arntzen at 2023-08-17T12:17:55+02:00
    GLSL: Implement 64-bit image support.
    
  • 79d63934
    by Hans-Kristian Arntzen at 2023-08-17T12:45:54+02:00
    GLSL: Emit inline invariant position for mesh shaders.
    
    Work around missing feature from GLSL. Normally we can emit a global
    invariant gl_Position; and call it a day, but it does not work for mesh
    shaders it seems. Declaring invariance inside an explicit IO block works
    fine on the other hand ...
    
  • 62664e42
    by Hans-Kristian Arntzen at 2023-08-17T13:50:13+02:00
    Merge pull request #2184 from KhronosGroup/msl-runtime-array-to-argument-buffer
    
    Land PR 2179
  • e7e2e8ce
    by Hans-Kristian Arntzen at 2023-08-17T13:50:22+02:00
    Merge pull request #2185 from KhronosGroup/perprimitive-fix
    
    GLSL: Require mesh shader when using perprimitiveEXT in frag shader.
  • a3f02681
    by Hans-Kristian Arntzen at 2023-08-17T13:50:29+02:00
    Merge pull request #2186 from KhronosGroup/64bit-images
    
    GLSL: Implement 64-bit image support.
  • 633dc301
    by Hans-Kristian Arntzen at 2023-08-17T13:51:54+02:00
    Merge pull request #2187 from KhronosGroup/mesh-invariant-position
    
    GLSL: Emit inline invariant position for mesh shaders.
  • b76394e6
    by Hans-Kristian Arntzen at 2023-08-25T11:59:21+02:00
    GLSL: Fix Clip/Cull in mesh shaders.
    
  • acf51c1b
    by Hans-Kristian Arntzen at 2023-08-25T12:55:00+02:00
    Merge pull request #2191 from KhronosGroup/mesh-clip-cull-fix
    
    GLSL: Fix Clip/Cull in mesh shaders.
  • df7fa1b9
    by Hitesh A. Bosamiya at 2023-08-26T11:35:16+05:30
    [SC-2189] Compiler::get_shader_resources() does not return all uniforms
    
  • 7ba6f5ce
    by Hans-Kristian Arntzen at 2023-08-28T11:33:00+02:00
    Merge pull request #2190 from hiteshbosamiya/SC-2189
    
    [SC-2189] Compiler::get_shader_resources() does not return all uniforms
  • b17dd589
    by Hans-Kristian Arntzen at 2023-08-28T11:54:58+02:00
    MSL: Workaround bizarre crash on macOS.
    
  • 54997fb4
    by Hans-Kristian Arntzen at 2023-08-28T21:53:24+02:00
    Merge pull request #2193 from KhronosGroup/fix-2192
    
    MSL: Workaround bizarre crash on macOS.
  • 8af391ec
    by Try at 2023-09-06T22:32:42+02:00
    check for SPVFuncImplVariableSizedDescriptor
    
  • 5e963d62
    by Hans-Kristian Arntzen at 2023-09-12T11:42:26+02:00
    Merge pull request #2197 from Try/rich-descriptor-fixup
    
    Fixup check for SPVFuncImplVariableSizedDescriptor
  • da9c861e
    by Try at 2023-09-16T19:33:27+02:00
    MSL: fix mutability for rayQueryEXT parameters
    
  • 43a59b7c
    by Try at 2023-09-19T21:44:57+02:00
    fix extraction of global variables, in case of atomics
    
  • 1870ec75
    by Hans-Kristian Arntzen at 2023-09-25T10:36:21+02:00
    Merge pull request #2201 from Try/msl-rayquery-mutability-fix
    
    MSL: fix mutability for rayQueryEXT parameters
  • 6e1fb9b0
    by Hans-Kristian Arntzen at 2023-09-25T10:39:13+02:00
    Merge pull request #2203 from Try/msl-atomics-fix
    
    MSL: fix extraction of global variables, in case of atomics
  • 967ad0bb
    by Try at 2023-09-28T23:58:51+02:00
    Fix unroll, when storing to pointer to array
    
    #fixed #2196
    
  • 37fee00a
    by Hans-Kristian Arntzen at 2023-10-02T12:33:46+02:00
    Merge pull request #2205 from Try/hlsl-ssbo-array-store-fix
    
    Fix unroll, when storing to pointer to array
  • 5de6ae9d
    by Evan Tang at 2023-10-03T15:29:02-05:00
    Cache externals in GitHub Actions
    
  • f9dd8099
    by Evan Tang at 2023-10-03T15:29:02-05:00
    Parallelize Github Actions builds
    
  • 5071f6c3
    by Laura Hermanns at 2023-10-09T14:01:53-04:00
    Add Natvis file with debug information for VectorView and SmallVector.
    
  • 1f289d38
    by Hans-Kristian Arntzen at 2023-10-10T12:03:36+02:00
    Merge pull request #2211 from EpicGames/main
    
    Add Natvis file with debug information for VectorView and SmallVector.
  • 79401259
    by Hans-Kristian Arntzen at 2023-10-10T12:14:39+02:00
    Merge pull request #2207 from etang-cw/CacheSpirvTools
    
    Improve CI build times
  • 09ba7658
    by Hans-Kristian Arntzen at 2023-10-11T12:55:12+02:00
    MSL: Use powr instead of pow.
    
    powr's additional UB rules match SPIR-V.
    
  • 73726f37
    by Hans-Kristian Arntzen at 2023-10-11T13:03:08+02:00
    HLSL: Add missing reference output file.
    
  • 75620181
    by Hans-Kristian Arntzen at 2023-10-11T13:09:55+02:00
    GLSL: Handle empty block declarations.
    
    Similar fix as for structs.
    
  • be944258
    by Hans-Kristian Arntzen at 2023-10-11T13:48:25+02:00
    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.
    
  • 255ff2b1
    by Hans-Kristian Arntzen at 2023-10-11T14:18:36+02:00
    GLSL: Use buffer_reference2 instead of 1.
    
    Supports more syntax.
    
  • 082b1df2
    by Hans-Kristian Arntzen at 2023-10-11T14:20:11+02:00
    Merge pull request #2215 from KhronosGroup/fix-2210
    
    GLSL: Fix and workaround some awkward code patterns
  • 724433d7
    by Hans-Kristian Arntzen at 2023-10-11T14:20:36+02:00
    Merge pull request #2216 from KhronosGroup/buffer-reference-2
    
    GLSL: Use buffer_reference2 instead of 1.
  • 105d5a8a
    by Hans-Kristian Arntzen at 2023-10-14T12:36:49+02:00
    Fix stray namespace issue.
    
  • 16fbf887
    by Bill Hollings at 2023-10-14T14:46:47-04:00
    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).
    
  • 2d072c68
    by Hans-Kristian Arntzen at 2023-10-16T11:52:11+02:00
    Merge branch 'metal-3-1-regression-fix' of https://github.com/billhollings/SPIRV-Cross
    
  • f30d280e
    by Hans-Kristian Arntzen at 2023-10-16T11:52:21+02:00
    Fixup stray comments in test_shaders.sh.
    
  • a4b85539
    by Hans-Kristian Arntzen at 2023-10-16T11:55:41+02:00
    Style fixups.
    
  • 2de1265f
    by Hans-Kristian Arntzen at 2023-10-16T12:19:24+02:00
    Merge pull request #2218 from KhronosGroup/pr-2217
    
    Merge PR 2217
  • 5d7ee6ad
    by Laura Hermanns at 2023-10-17T09:11:09-04:00
    Fix declaration of gl_SampleMaskIn[1] in HLSL backend.
    
  • f12ee5e0
    by Hans-Kristian Arntzen at 2023-10-23T11:54:49+02:00
    Merge remote-tracking branch 'epic/fixes_hlsl'
    
  • 0bedb69b
    by Hans-Kristian Arntzen at 2023-10-23T12:29:25+02:00
    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.
    
  • 56bdcfaf
    by Hans-Kristian Arntzen at 2023-10-23T12:45:08+02:00
    Add test for sample mask bulk load/store.
    
  • 2fba284b
    by Hans-Kristian Arntzen at 2023-10-23T14:40:28+02:00
    MSL: Improve handling of sample masks.
    
  • 637cff3d
    by Hans-Kristian Arntzen at 2023-10-23T15:21:23+02:00
    Merge pull request #2220 from KhronosGroup/pr-2208
    
    Land PR 2208 and fix more issues with sample mask
  • 4a421912
    by Bill Hollings at 2023-11-02T23:53:59-04:00
    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).
    
  • 4818f7e7
    by Hans-Kristian Arntzen at 2023-11-03T11:18:21+01:00
    Merge pull request #2222 from billhollings/fix-runtime-array-regression
    
    MSL: Fix regression error in argument buffer runtime arrays.
  • 93150ed7
    by Eliza Velasquez at 2023-11-13T15:23:36-08:00
    Workaround for generating bool uniforms in ESSL1
    
    Fixes #2223.
    
  • 0e9bc691
    by Hans-Kristian Arntzen at 2023-11-16T14:00:00+01:00
    Review nit, update brace placement
  • bf059200
    by Hans-Kristian Arntzen at 2023-11-16T14:00:48+01:00
    Only use lowp path for legacy ES
  • 42aac916
    by Hans-Kristian Arntzen at 2023-11-16T15:47:51+01:00
    Merge pull request #2227 from elizagamedev/exv/essl1-uint-bool-hack
    
    Workaround for generating bool uniforms in ESSL1
  • ec7a23c8
    by chirsz-ever at 2023-11-22T20:05:42+08:00
    Add "build" to .gitignore
    
  • 20dd53b3
    by chirsz-ever at 2023-11-22T22:17:24+08:00
    Allow to customize float literals in output
    
  • 94f4c48f
    by Hans-Kristian Arntzen at 2023-11-24T12:46:28+01:00
    Apply suggestions from code review
  • 3e8e761e
    by Hans-Kristian Arntzen at 2023-11-24T12:46:50+01:00
    Apply suggestions from code review
  • 42299f92
    by Hans-Kristian Arntzen at 2023-11-24T12:47:51+01:00
    Merge pull request #2230 from chirsz-ever/chirsz/custom-float-formater
    
    Allow to customize float literals in output
  • dddabb9c
    by Hans-Kristian Arntzen at 2023-11-27T12:14:30+01:00
    MSL: Add divide to reserved function names.
    
  • 57dbfa04
    by Hans-Kristian Arntzen at 2023-11-27T15:28:20+01:00
    MSL: Support std140 half matrices and arrays.
    
    Super awkward since there is no clean way to express this.
    
  • 81c047c3
    by Hans-Kristian Arntzen at 2023-11-27T16:30:24+01:00
    MSL: Use more appropriate padded types.
    
  • 61bbcb27
    by Hans-Kristian Arntzen at 2023-11-27T16:31:01+01:00
    Merge pull request #2232 from KhronosGroup/fix-2228
    
    MSL: Add divide to reserved function names.
  • 3872dcd6
    by Hans-Kristian Arntzen at 2023-11-27T16:52:32+01:00
    MSL: Don't use swizzle if we have wrapper.
    
  • 2e022dbf
    by Hans-Kristian Arntzen at 2023-11-27T16:54:27+01:00
    MSL: Move test files to packing/.
    
  • 3717660e
    by Hans-Kristian Arntzen at 2023-11-27T17:17:13+01:00
    Merge pull request #2234 from KhronosGroup/fix-2226
    
    MSL: Support std140 half matrices and arrays.
  • 7ef52b04
    by Chip Davis at 2023-11-27T15:03:26-08:00
    MSL: Work around broken cube texture gradients on Apple Silicon.
    
    To date, all released Apple Silicon GPUs incorrectly interpret the
    gradient vectors when sampling a cube texture. Specifically, they ignore
    one of the three partial derivatives in each gradient depending on the
    selected major axis, and they expect the remaining derivatives to be
    partially transformed.
    
    h/t @lexaknyazev for the code used in the `spvGradientCube()` function.
    
    Fixes 8 tests under `dEQP-VK.glsl.texture_functions.texturegrad.*`.
    
  • 18976c43
    by Chip Davis at 2023-11-27T15:03:58-08:00
    Add missing new MSL options to the C API and the CLI.
    
  • 50e90dd7
    by Hans-Kristian Arntzen at 2023-11-28T12:05:55+01:00
    Merge pull request #2233 from cdavis5e/agx-cube-grad-fixup
    
    MSL: Work around broken cube texture gradients on Apple Silicon.
  • 9c054b1f
    by Hans-Kristian Arntzen at 2023-11-29T13:53:23+01:00
    MSL: Implement Metal 3.1 image atomics natively.
    
    The check_discard code was too annoying to deal with,
    and there is no requirement to return anything meaningful.
    Vulkan specs state that values returned by atomic instructions are undefined.
    
  • 2ff08b31
    by Hans-Kristian Arntzen at 2023-11-29T13:53:23+01:00
    MSL: Update test scripts for MSL 3.1 testing.
    
  • e33670e7
    by Hans-Kristian Arntzen at 2023-11-29T13:53:23+01:00
    MSL: Add some image atomic tests for 3.1.
    
  • a326b3ea
    by Hans-Kristian Arntzen at 2023-11-29T13:53:23+01:00
    MSL: Support using the offline Metal Windows toolchain for validation.
    
  • f3573b9f
    by Hans-Kristian Arntzen at 2023-11-29T14:17:57+01:00
    MSL: Throw on emulated image array atomics.
    
  • a3da0e87
    by Hans-Kristian Arntzen at 2023-11-29T14:48:20+01:00
    Merge pull request #2235 from KhronosGroup/fix-2212
    
    MSL: Implement MSL 3.1 image atomics natively
  • 950cad59
    by Hugo Devillers at 2023-11-30T12:28:50+01:00
    Added an Op field to SPIRType
    
    This field allows telling what the 'head' of the type is, without having to look at parent types.
    
  • af92037a
    by Hugo Devillers at 2023-11-30T15:42:46+01:00
    fix a bunch of case where SPIRType::op is wrong/corrupted
    
  • 738bfd49
    by Hugo Devillers at 2023-12-04T12:47:15+01:00
    msl: fix test regressions with samplemask
    
  • ee7aaaf6
    by Hugo Devillers at 2023-12-04T18:32:56+01:00
    msl: fix two more instances of the wrong op in SPIRType
    
  • 2c3734df
    by Hugo Devillers at 2023-12-04T18:33:27+01:00
    msl: fix many instances of SPIRType.self being incorrectly set
    
  • 5b188104
    by Hugo Devillers at 2023-12-04T18:33:53+01:00
    msl: make build_extended_vector_type deal with compound types better
    
  • 8632f671
    by Hugo Devillers at 2023-12-04T18:36:39+01:00
    msl: look at the actual variable element type in to_member_reference
    
  • 7c7b6e60
    by Hugo Devillers at 2023-12-04T18:49:22+01:00
    msl: look at the pointee type in emit_tessellation_access_chain
    
  • 55e08aff
    by Hugo Devillers at 2023-12-04T18:49:46+01:00
    use 'op' as the ground truth in is_array and is_pointer
    
  • c0760eb9
    by Chip Davis at 2023-12-04T14:24:16-08:00
    MSL: Fix patch vertex count with raw buffer tese input.
    
    We can no longer rely on the `patch_control_point<>` array being
    present, so the best we can do is use the value given us at compile
    time.
    
    This was an oversight on my part when I initially implemented the
    raw-buffer tessellation evaluation input mode. The lack of tests for the
    `PatchVertices` built-in almost certainly contributed, so I fixed that
    in this patch.
    
    Fixes the test
    `dEQP-VK.tessellation.shader_input_output.patch_vertices_in_tes`. This
    is the last failing test under `dEQP-VK.tessellation`.
    
  • 7c335edc
    by Hans-Kristian Arntzen at 2023-12-05T14:03:29+01:00
    Merge pull request #2237 from cdavis5e/raw-tese-input-patch-vertices
    
    MSL: Fix patch vertex count with raw buffer tese input.
  • 8f58b847
    by Try at 2023-12-05T20:56:48+01:00
    MSL: add ray-cull mask
    
  • 22d6e2e6
    by Try at 2023-12-05T21:35:26+01:00
    + missing tests
    
  • 766a74db
    by Hans-Kristian Arntzen at 2023-12-06T14:26:25+01:00
    Merge pull request #2241 from Try/msl-ray-cullmask
    
    MSL: add ray-cull mask
  • e2886f09
    by Hans-Kristian Arntzen at 2023-12-06T16:18:58+01:00
    MSL: Consider PtrAccessChain on array types.
    
  • ed7ba430
    by Hans-Kristian Arntzen at 2023-12-06T16:18:58+01:00
    MSL: Use LHS _expression_ to determine whether or not to do array copy.
    
    Makes a difference when using variable pointers.
    
  • 0836c81e
    by Hans-Kristian Arntzen at 2023-12-06T16:18:58+01:00
    MSL: Only do address-of _expression_ when needed.
    
  • 6dbec321
    by Hans-Kristian Arntzen at 2023-12-06T17:09:25+01:00
    MSL: Defererence pointer expressions before traversing access chain.
    
    Exception is struct which does -> for us.
    
  • 4e3f66b5
    by Hans-Kristian Arntzen at 2023-12-06T17:09:25+01:00
    MSL: Add test for vector-to-scalar variable pointer.
    
  • ffab994a
    by Hans-Kristian Arntzen at 2023-12-06T17:09:25+01:00
    MSL: Wrap dereferenced ptr-chain expressions.
    
  • 9da5f7ce
    by Hans-Kristian Arntzen at 2023-12-06T17:17:21+01:00
    Merge pull request #2242 from KhronosGroup/fix-2221
    
    MSL: Improve PtrAccessChain handling.
  • d019358c
    by Hugo Devillers at 2023-12-06T17:54:34+01:00
    fix unintialised struct in SPIRType
    
  • 5065781b
    by Hugo Devillers at 2023-12-06T18:04:59+01:00
    fix more spirtype::op instances
    
  • e6b013a4
    by Hans-Kristian Arntzen at 2023-12-07T11:39:26+01:00
    Merge pull request #2214 from KhronosGroup/fix-2206
    
    MSL: Use powr instead of pow.
  • e3d1b9af
    by Hans-Kristian Arntzen at 2023-12-07T12:05:48+01:00
    Merge branch 'spirtype-refactor' of https://github.com/Hugobros3/SPIRV-Cross into pr-2238
    
  • 833c5936
    by Hans-Kristian Arntzen at 2023-12-07T14:31:36+01:00
    Various nit fixes and improvements from review.
    
  • 13aab7f0
    by Hans-Kristian Arntzen at 2023-12-07T14:37:24+01:00
    Merge pull request #2243 from KhronosGroup/pr-2238
    
    Land PR 2238
  • 2603fbe5
    by Hans-Kristian Arntzen at 2023-12-07T14:41:42+01:00
    MSL: Remove special case for threadgroup array wrapper.
    
    I cannot find any evidence that this does not actually work.
    The original case here was from Epic's PR series in 2019, but I cannot see why it doesn't work.
    It might have been a bug in a very old compiler at some point.
    
  • f349c912
    by Hans-Kristian Arntzen at 2023-12-07T14:50:19+01:00
    Merge pull request #2240 from KhronosGroup/fix-2239
    
    MSL: Remove special case for threadgroup array wrapper.
  • d47183c0
    by Bill Hollings at 2023-12-22T09:12:44-05:00
    MSL: Ensure discrete runtime arrays of buffers have known length.
    
    An entry-point array of buffers, that is not part of a Metal argument
    buffer, requires a known length, so it can be emitted as discrete buffers.
    For runtime arrays of resources, this can be retrieved from the resource
    binding information added via add_msl_resource_binding().
    
    - Redefine get_resource_array_size() to consolidate array sizing using both var
      type, and runtime array sizing from resource bindings, if not found in type.
    - Use get_resource_array_size() to fix issue for runtime arrays of buffers.
    - Update runtime arrays of images and samplers to use get_resource_array_size().
    - Add .DS_Store to .gitignore (unrelated).
    
  • b093d271
    by Bill Hollings at 2024-01-03T15:34:29-05:00
    Merge pull request #2248 from billhollings/msl-fix-discrete-runtime-arrays-of-buffers
    
    MSL: Ensure discrete runtime arrays of buffers have known length.
  • d9f4280f
    by Hans-Kristian Arntzen at 2024-01-05T12:05:37+01:00
    Merge pull request #2252 from KhronosGroup/MoltenVK-1.2.7-for-vulkan-sdk-1.3.273
    
    MSL: Ensure discrete runtime arrays of buffers have known length.
  • ec42cb1c
    by Hans-Kristian Arntzen at 2024-01-05T13:36:34+01:00
    Roll deps.
    
  • eabcc5e5
    by Hans-Kristian Arntzen at 2024-01-05T14:02:09+01:00
    Merge pull request #2254 from KhronosGroup/roll-deps
    
    Roll deps
  • bedc49b8
    by Hans-Kristian Arntzen at 2024-01-05T14:07:05+01:00
    HLSL: Fix issue with vec4 straddle rules in substructs.
    
  • 117161dd
    by Hans-Kristian Arntzen at 2024-01-05T14:24:21+01:00
    Merge pull request #2255 from KhronosGroup/pr-2247
    
    HLSL: Fix issue with vec4 straddle rules in substructs.
  • cffc08a5
    by Hans-Kristian Arntzen at 2024-01-05T14:54:21+01:00
    Add missing reference file.
    
  • ec87a036
    by Hans-Kristian Arntzen at 2024-01-05T16:08:29+01:00
    MSL: Plumb through member state to image/sampler types.
    
  • a7b6f3a3
    by Wooyoung Kim at 2024-01-05T22:38:08-08:00
    Add supprot for the SPV_QCOM_image_processing extension
    
  • e10bf533
    by Hans-Kristian Arntzen at 2024-01-08T12:37:01+01:00
    MSL: Support variable sized descriptor array in argument buffer.
    
  • a8b1e07f
    by Hans-Kristian Arntzen at 2024-01-08T13:04:43+01:00
    MSL: Add test for texture/sampler variable count.
    
  • 57e28e3f
    by Hans-Kristian Arntzen at 2024-01-08T14:15:23+01:00
    MSL: Implement spvDescriptorArray path for SSBO/UBO.
    
  • a3038395
    by Hans-Kristian Arntzen at 2024-01-08T14:29:19+01:00
    Merge pull request #2256 from KhronosGroup/fix-2250
    
    MSL: Support variable sized descriptor arrays in argument buffers directly.
  • 6b1b7c6d
    by Hans-Kristian Arntzen at 2024-01-08T14:37:26+01:00
    Add i64/u64 spec constant to C API.
    
  • 7eb09ee4
    by Hans-Kristian Arntzen at 2024-01-08T14:47:47+01:00
    Merge pull request #2259 from KhronosGroup/fix-2249
    
    Add i64/u64 spec constant to C API.
  • 8028f756
    by Wooyoung Kim at 2024-01-08T09:36:01-08:00
    Merge branch 'KhronosGroup:main' into SPV_QCOM_image_processing
    
  • 1efe04cf
    by Wooyoung Kim at 2024-01-08T09:58:27-08:00
    Add supprot for the SPV_QCOM_image_processing extension
    
  • 37a58e4c
    by Hans-Kristian Arntzen at 2024-01-09T16:40:01+01:00
    Merge pull request #2246 from CodeLinaro/SPV_QCOM_image_processing
    
    Add support for the SPV_QCOM_image_processing extension
  • 41197bbd
    by Hans-Kristian Arntzen at 2024-01-16T14:30:14+01:00
    Bump to CMake 3.6 and handle deprecated Python module check.
    
  • 0a5e7b0f
    by Hans-Kristian Arntzen at 2024-01-16T14:35:24+01:00
    Merge pull request #2265 from KhronosGroup/fix-2263
    
    Bump to CMake 3.6 and handle deprecated Python module check.
  • 6c24be19
    by sean at 2024-01-16T14:42:56+01:00
    MSL: Add support for SPV_EXT_integer_dot_product
    
  • b9abac50
    by Hans-Kristian Arntzen at 2024-01-16T14:46:16+01:00
    Fix nits from review.
    
  • e9851cc6
    by Hans-Kristian Arntzen at 2024-01-16T16:17:43+01:00
    MSL: Fix misc sign issues with dot product impl and add more coverage.
    
  • 64f64c83
    by Hans-Kristian Arntzen at 2024-01-16T16:24:33+01:00
    Merge pull request #2266 from KhronosGroup/pr-2257
    
    Land MSL integer dot products
  • c0f48374
    by Hans-Kristian Arntzen at 2024-01-18T11:54:24+01:00
    Add reserve to object pool.
    
  • 871ac0e5
    by Hans-Kristian Arntzen at 2024-01-18T12:40:47+01:00
    GLSL: Handle BDA to plain non-block struct.
    
    The implementation assumed that BDA to struct would always result in a
    Block-like type, but that is not necessarily the case. Treat non-Block
    structs as POD types as well.
    
  • 3da5bc7a
    by Hans-Kristian Arntzen at 2024-01-18T12:56:31+01:00
    GLSL: Forward declare non-block BDA types as well.
    
    With non-block structs, we can have pointers in those types too.
    
  • 32ac768c
    by Hans-Kristian Arntzen at 2024-01-18T13:11:04+01:00
    GLSL: Handle synthesized pointer-to-pointer.
    
  • 07196981
    by Hans-Kristian Arntzen at 2024-01-18T13:35:43+01:00
    GLSL: Add basic test for chained access chains.
    
  • 376a308d
    by Hans-Kristian Arntzen at 2024-01-18T14:14:10+01:00
    GLSL: Handle ptr-to-array casts with unexpected array strides.
    
  • b8253676
    by Hans-Kristian Arntzen at 2024-01-18T14:28:51+01:00
    Merge pull request #2268 from KhronosGroup/fix-2260
    
    GLSL: Improve BDA handling in esoteric situations
  • e0795677
    by Frank McCoy at 2024-01-22T00:49:18-08:00
    Fixed conflict with windows min and max
    
    If windows.h is included before spirv_common.hpp without NOMINMAX being defined the windows min and max macros will conflict with the STL numeric limits functions.
  • c3d0bd4c
    by Hans-Kristian Arntzen at 2024-01-23T12:01:32+01:00
    Use more descriptive versioning in gitversion.h.
    
  • 01c8a2a0
    by Hans-Kristian Arntzen at 2024-01-23T13:07:37+01:00
    Merge pull request #2270 from KhronosGroup/fix-2262
    
    Use more descriptive versioning in gitversion.h.
  • 9d87a014
    by Hans-Kristian Arntzen at 2024-01-23T13:09:41+01:00
    MSL: Handle volatile properly for emulated image atomics.
    
  • bad97c85
    by Hans-Kristian Arntzen at 2024-01-23T14:42:56+01:00
    Merge pull request #2269 from jaxfrank/main
    
    Fixed conflict with windows min() and max() macros in spirv_common.hpp
  • 03b485dc
    by Hans-Kristian Arntzen at 2024-01-23T14:43:04+01:00
    Merge pull request #2271 from KhronosGroup/fix-2264
    
    MSL: Handle volatile properly for emulated image atomics.
  • fd3ce6e8
    by DmitryTsyganov at 2024-02-01T18:08:01+01:00
    Add CompilerError constructor that accepts const char* as a parameter
    Fixes #2273
    
  • ed7a3e3e
    by Try at 2024-02-04T23:28:58+01:00
    fix codegen for shader with only bindless ssbo
    
  • 3198ac2f
    by Hans-Kristian Arntzen at 2024-02-05T10:28:16+01:00
    Merge pull request #2276 from Try/msl-descriptor-array-fixup
    
    Fix codegen for shader with only bindless ssbo
  • b8fcf307
    by Hans-Kristian Arntzen at 2024-02-05T12:54:10+01:00
    Merge pull request #2274 from DmitryTsyganov/error_message_fix
    
    Add CompilerError constructor that accepts const char* as a parameter (Fixes #2273)
  • fa0d4b90
    by Bill Hollings at 2024-02-15T19:34:30-05:00
    OpCopyObject declare a temp var of base type, not pointer type.
    
    Fixes MSL issue where temp variable was declared as pointer var, and
    OpCopyObject attempted to copy a base type var into the pointer var.
    
  • 18cb2ce9
    by penghaiyi at 2024-02-23T09:33:08+08:00
    GLSL: Fix atomic_uint being incorrectly generated as uint
    
  • 08391d91
    by Hans-Kristian Arntzen at 2024-02-26T15:35:01+01:00
    Merge pull request #2278 from billhollings/fix-opcopyobject-temp-var
    
    OpCopyObject declare a temp var of base type, not pointer type.
  • 052c57e2
    by Jan Sikorski at 2024-02-26T15:51:32+01:00
    MSL: Pass texture array index separately to atomic texture operations.
    
  • 7e0c9ab9
    by Hans-Kristian Arntzen at 2024-02-26T15:51:32+01:00
    MSL: Nit from review.
    
  • 855a5c36
    by Hans-Kristian Arntzen at 2024-02-26T15:51:32+01:00
    MSL: Also test image atomic for image2DArray.
    
  • 346c7349
    by Hans-Kristian Arntzen at 2024-02-26T16:31:07+01:00
    Merge pull request #2283 from KhronosGroup/pr-2281
    
    Land PR 2281
  • 5f7a6de5
    by Hans-Kristian Arntzen at 2024-02-26T16:31:26+01:00
    Merge pull request #2282 from hypengw/main
    
    GLSL: Fix atomic_uint being incorrectly generated as uint
  • c524e339
    by Hans-Kristian Arntzen at 2024-03-05T14:30:46+01:00
    MSL: Improve handling of BDA + atomics.
    
  • 4db95b76
    by Hans-Kristian Arntzen at 2024-03-05T15:03:56+01:00
    Merge pull request #2288 from KhronosGroup/fix-2272
    
    MSL: Improve handling of BDA + atomics.
  • 572c4131
    by Hans-Kristian Arntzen at 2024-03-06T13:14:54+01:00
    Fix crash when traversing PtrAccessChain to OpTypeStruct.
    
  • c2eb27c1
    by Hans-Kristian Arntzen at 2024-03-06T14:32:27+01:00
    Merge pull request #2289 from KhronosGroup/fix-2279
    
    Fix crash when traversing PtrAccessChain to OpTypeStruct.
  • 261589a5
    by Hans-Kristian Arntzen at 2024-03-06T14:33:02+01:00
    MSL: Fix type hierarchy for extended vectors.
    
  • 2a7c8184
    by Hans-Kristian Arntzen at 2024-03-06T15:26:57+01:00
    Merge pull request #2290 from KhronosGroup/fix-2287
    
    MSL: Fix type hierarchy for extended vectors.
  • 5e650046
    by Bill Hollings at 2024-03-11T22:42:43-04:00
    MSL: atomic_compare_exchange_weak() support CompilerMSL:msl_options.texture_1D_as_2D.
    
    CompilerMSL:msl_options.texture_1D_as_2D emulates a Metal 1D texture
    as a 2D texture in order to expand features available for 1D textures.
    Support accessing such textures as 2D for atomic_compare_exchange_weak().
    
  • de0e72a0
    by Bill Hollings at 2024-03-11T23:27:25-04:00
    Merge pull request #2293 from billhollings/atomic_compare_exchange_weak-texture_1D_as_2D
    
    MSL: atomic_compare_exchange_weak() support CompilerMSL:msl_options.texture_1D_as_2D.
  • 8465ec81
    by Jan Sikorski at 2024-03-15T17:19:49+01:00
    Support cases of LUTs which are not function local.
    
    Prevent cases where arrays that are globally defined constants are redeclared
    on stack. On Intel macs, declaring a large, statically initialized
    spvUnsafeArray on stack may cause an internal compiler error.
    
  • 32619964
    by Hans-Kristian Arntzen at 2024-03-18T10:50:37+01:00
    Merge pull request #2296 from KhronosGroup/vulkan-sdk-1.3.280-moltenvk
    
    MSL: Merge `vulkan-sdk-1.3.280-moltenvk` branch into `main` branch.
  • 6ee80151
    by Hans-Kristian Arntzen at 2024-03-18T11:04:53+01:00
    Merge branch 'global-luts' of https://github.com/js6i/SPIRV-Cross into pr-2297
    
  • 48bede6a
    by Hans-Kristian Arntzen at 2024-03-18T11:25:38+01:00
    Smaller cleanups on multi-function Private LUTs.
    
  • 48aba6ab
    by Hans-Kristian Arntzen at 2024-03-18T11:25:59+01:00
    Add test for multi-function Private LUT.
    
  • 1e3f31e6
    by Hans-Kristian Arntzen at 2024-03-18T11:56:15+01:00
    Merge pull request #2298 from KhronosGroup/pr-2297
    
    Land PR 2297
  • b4c84bb1
    by Hans-Kristian Arntzen at 2024-03-18T12:09:38+01:00
    Block loop optimization if Phi is used.
    
    Somehow this hasn't been caught until now. Impressive.
    
    We'll have to emit side effects in condition block to make this work,
    which breaks loop conditionals.
    
  • 7d92d7d8
    by Hans-Kristian Arntzen at 2024-03-18T12:31:21+01:00
    Merge pull request #2299 from KhronosGroup/fix-2285
    
    Block loop optimization if Phi is used.
  • cc542f81
    by Evan Tang at 2024-04-01T17:11:31-05:00
    Use recursive template for spvArrayCopy
    
    Comment claims we can't, but I tested a number of older Metal compilers (Xcode 8 targeting macOS 10.11, macOS 10.13 online compiler, Xcode 14 targeting iOS 8) and none of them had any issues with it
    
  • f9393f44
    by Hans-Kristian Arntzen at 2024-04-02T11:47:54+02:00
    MSL: Get rid of obsolete "is pointer" methods.
    
    Just use the common ones.
    
  • 44a5f1fc
    by Jan Sikorski at 2024-04-02T12:01:07+02:00
    MSL: Add support for overlapping bindings.
    
    This adds support for bindings which share the same DescriptorSet/Binding pair.
    
    The motivating example is vkd3d, which uses overlapping arrays of resources to
    emulate D3D12 descriptor tables. The generated MSL argument buffer only
    includes the first resource (in this example 't0'):
    
    struct spvDescriptorSetBuffer2
    {
        array<texture2d<float>, 499968> t0 [[id(0)]];
        // Overlapping binding: array<texture3d<float>, 499968> t2 [[id(0)]];
    };
    
    When t2 is referenced, we cast the instantiated member:
    
    float4 r1 = spvDescriptorSet2.t0[_79].sample(...);
    float4 r2 = (*(constant array<texture3d<float>, 499968>*)&spvDescriptorSet2.t0)[_97].sample(...);
    
  • 760a659f
    by Jan Sikorski at 2024-04-02T12:01:07+02:00
    MSL: Avoid emitting multiple declaration of the same variable.
    
  • 064186e4
    by Jan Sikorski at 2024-04-02T12:01:07+02:00
    MSL: Check for device argument buffers for overlapping bindings.
    
  • 221a517b
    by Jan Sikorski at 2024-04-02T12:01:07+02:00
    MSL: Pass variable id when emitting image entry point declarations.
    
  • ffb2c9bb
    by Jan Sikorski at 2024-04-02T12:01:07+02:00
    MSL: Added tests for overlapping bindings.
    
  • 32e33e40
    by Hans-Kristian Arntzen at 2024-04-02T12:42:12+02:00
    Cleanup overlap tag from review.
    
  • 218a8bfd
    by Hans-Kristian Arntzen at 2024-04-03T13:15:51+02:00
    MSL: Improve argument buffer descriptor aliasing implementation.
    
  • ee77265a
    by Hans-Kristian Arntzen at 2024-04-03T13:28:12+02:00
    MSL: Workaround compiler issue with image fence when used as reference.
    
  • 8219ccf7
    by Hans-Kristian Arntzen at 2024-04-03T13:45:18+02:00
    MSL: Reassign bindings so they work with decoration binding in test.
    
  • 061bf6b4
    by Hans-Kristian Arntzen at 2024-04-03T13:49:41+02:00
    Fix tabbing nits.
    
  • 06407561
    by Hans-Kristian Arntzen at 2024-04-03T15:16:49+02:00
    Merge pull request #2306 from KhronosGroup/pr-2292
    
    MSL: Implement support for EXT_mutable_descriptor_type and general aliasing with argument buffers
  • 56f24d86
    by Hans-Kristian Arntzen at 2024-04-15T11:47:10+02:00
    Merge pull request #2304 from etang-cw/ArrayCleanup
    
    Use recursive template for spvArrayCopy
  • eef4c2af
    by Hans-Kristian Arntzen at 2024-04-15T13:37:00+02:00
    MSL: Fix SUMulExtended for 64-bit inputs.
    
  • 25b77721
    by Hans-Kristian Arntzen at 2024-04-15T13:55:25+02:00
    Merge pull request #2310 from KhronosGroup/fix-2300
    
    MSL: Fix SUMulExtended for 64-bit inputs.
  • 4f17bf76
    by Hans-Kristian Arntzen at 2024-04-15T14:29:01+02:00
    MSL: Handle Atomic{S,U}{Min,Max} with mismatched image sign.
    
    Gross reinterpret_cast, but gotta do what you gotta do.
    
  • 8edbda42
    by Hans-Kristian Arntzen at 2024-04-15T14:47:18+02:00
    Merge pull request #2311 from KhronosGroup/fix-2303
    
    MSL: Handle Atomic{S,U}{Min,Max} with mismatched image sign.
  • dc6db523
    by Hans-Kristian Arntzen at 2024-04-15T15:44:21+02:00
    MSL: Inherit interpolation qualifiers through recursive composites.
    
  • cb956675
    by Hans-Kristian Arntzen at 2024-04-15T16:40:47+02:00
    Merge pull request #2312 from KhronosGroup/fix-2305
    
    MSL: Inherit interpolation qualifiers through recursive composites.
  • 298c2315
    by Jan Sikorski at 2024-04-18T09:13:29+02:00
    MSL: Remove pointer wrapper stored in spvDescriptorArray.
    
    This works around what looks like a compiler bug which can cause GPU crashes.
    
  • 84b4a54b
    by Jan Sikorski at 2024-04-18T09:19:01+02:00
    Updated tests.
    
  • 71fe131e
    by Hans-Kristian Arntzen at 2024-04-29T10:17:43+02:00
    Merge pull request #2314 from js6i/gpu-crash
    
    Remove spvDescriptor wrapper in spvDescriptorArray
  • cbaa8698
    by Hans-Kristian Arntzen at 2024-04-29T11:49:28+02:00
    MSL: Handle missing FP16 trancendental overloads.
    
  • 2ccc81fd
    by Hans-Kristian Arntzen at 2024-04-29T12:02:51+02:00
    Merge pull request #2317 from KhronosGroup/fix-2309
    
    MSL: Handle missing FP16 trancendental overloads.
  • 84cdc3b6
    by Bill Hollings at 2024-05-06T09:57:31+02:00
    MSL: Fix argument buffer padding.
    
    - After padding a resource, retrieve either the next padded slot,
      or the next resource, in order to correctly offset the slot index.
    
  • 476f384e
    by Hans-Kristian Arntzen at 2024-05-09T12:26:58+02:00
    Fix unused variable warning on GCC 14.
    
  • 04ddb9a8
    by Hans-Kristian Arntzen at 2024-05-10T14:52:24+02:00
    Mark function call results as control dependent as necessary.
    
    Inner function calls can contain flow-control sensitive code.
    In this case, the function call itself must inherit the
    control-dependence.
    
    Rarely happens in practice since optimized code with SSA tends to
    inline.
    
  • 1ddd8b62
    by Hans-Kristian Arntzen at 2024-05-10T15:21:42+02:00
    Merge pull request #2321 from KhronosGroup/control-dependent-function
    
    Mark function call results as control dependent as necessary.
  • ab1f9f4d
    by Bill Hollings at 2024-05-20T12:10:35-04:00
    MSL: Support ConstOffsets on image gather.
    
    - Add TextureFunctionArguments::has_array_offsets.
    - Add support functions spvGatherConstOffsets() &
      spvGatherCompareConstOffsets().
    - Add SPVFuncImpl::SPVFuncImplGatherConstOffsets &
      SPVFuncImplGatherCompareConstOffsets.
    - Add unit tests.
    
  • 641b92fa
    by Hans-Kristian Arntzen at 2024-05-21T11:10:55+02:00
    MSL: Clean up some nits for review.
    
  • e2204e3f
    by Hans-Kristian Arntzen at 2024-05-21T11:23:42+02:00
    Merge pull request #2326 from KhronosGroup/pr-2325
    
    Land PR 2325.
  • cd8865de
    by Aitor Camacho at 2024-05-21T11:24:56+02:00
    Add option to enforce fragment execution with side effects in MSL
    
    Metal will incorrectly discard fragments with side effects under
    certain circumstances prematurely. The conditions are the following:
     - Fragment will always be discarded after side effect operation
     - Pre fragment depth fails
     - Modifies depth value for a constant value in the fragment shader.
       This constant value will also fail the depth test.
    
    However, Metal will also discard the fragment even if it has
    operations with side effects inside the fragment shader before the
    discard operation.
    
    Vulkan states the graphics pipeline to execute in the following
    order:
     - Pre fragment depth test (cannot discard here due to modifying
       depth value in fragment shader)
     - Fragment shader (where the depth is modified and fragment
       discarded)
     - Post fragment depth test
    
    Therefore, we need to enforce fragment shader execution and not
    let Metal discard the fragment before that for such cases. This
    change adds an option to provide such utility.
    
  • 485b4c6e
    by Hans-Kristian Arntzen at 2024-05-21T11:26:18+02:00
    Update C API minor version.
    
  • 1f68d0f4
    by Hans-Kristian Arntzen at 2024-05-21T11:36:55+02:00
    Merge pull request #2327 from KhronosGroup/pr-2324
    
    Land PR 2324
  • e406fb21
    by Hans-Kristian Arntzen at 2024-05-21T14:04:20+02:00
    Fixup invalid shader that should not pass.
    
  • e680b724
    by Hans-Kristian Arntzen at 2024-05-21T14:05:33+02:00
    MSL: Don't bother supporting invalid multi-dimensional dynamic buffers.
    
    This was never legal in any API and I'm not sure why I ever bothered.
    
  • d8eece47
    by Hans-Kristian Arntzen at 2024-05-21T15:41:41+02:00
    Merge pull request #2328 from KhronosGroup/dynamic-buffer-cleanup
    
    Dynamic buffer cleanup
  • 854759fd
    by Hans-Kristian Arntzen at 2024-05-21T15:41:56+02:00
    MSL: Do not overwrite rez_bind when padding.
    
  • ffdcefe2
    by Hans-Kristian Arntzen at 2024-05-21T15:41:56+02:00
    MSL: Only consider padding for non-aliased resources.
    
  • b236352f
    by Hans-Kristian Arntzen at 2024-05-21T15:41:56+02:00
    MSL: Always use layout-declared array size for argument buffers.
    
  • 8b3aa219
    by Hans-Kristian Arntzen at 2024-05-21T15:43:04+02:00
    Pass down orig_id to type_to_array_glsl as well.
    
    Allows UBO/SSBO resources in MSL to get the layout-derived size as well.
    
  • 5934c8fc
    by Hans-Kristian Arntzen at 2024-05-21T17:56:32+02:00
    Merge pull request #2329 from KhronosGroup/fix-2318
    
    MSL: Improve handling of padded descriptors with argument buffers
  • d1285ec0
    by Hans-Kristian Arntzen at 2024-05-21T17:56:42+02:00
    GLSL: Use SPIR-V intrinsics for N{Min,Max,Clamp}.
    
    When targeting Vulkan semantics, we should emit code that is actually
    readable.
    
    Also, make sure to use plain F{Min,Max,Clamp} on HLSL. HLSL has
    NaN-aware semantics by default.
    
  • ce22ebb8
    by Hans-Kristian Arntzen at 2024-05-21T18:51:12+02:00
    Merge pull request #2330 from KhronosGroup/spirv-intrinsics
    
    GLSL: Use SPIR-V intrinsics for N{Min,Max,Clamp}.
  • a43fabbe
    by Aitor Camacho at 2024-05-24T12:13:17+02:00
    MSL: Add option to force depth write in fragment shaders
    
    Metal writes to the depth/stencil attachment before fragment
    shader execution if the execution does not modify the depth
    value. However, Vulkan expects the write to happen after
    fragment shader execution. To circumvent the issue we add
    a simple depth passthrough if the user opts in. Only
    required when the depth/stencil attachment is used as
    input attachment at the same time. It seems Metal does not
    correctly detect the dependency.
    
  • d47a1407
    by Hans-Kristian Arntzen at 2024-05-24T17:11:06+02:00
    Merge pull request #2331 from aitor-lunarg/force-depth-passthrough
    
    MSL: Add option to force depth write in fragment shaders
  • 2d990d35
    by Hans-Kristian Arntzen at 2024-06-03T16:47:44+02:00
    MSL: Add median3 to list of banned func names.
    
  • 495e5b09
    by Bill Hollings at 2024-06-11T16:52:07-04:00
    MSL: Fixes for constexpr sampler use with argument buffers.
    
    Constexpr samplers are defined as local variables,
    but were treated as held within an argument buffer.
    
    - CompilerMSL::to_sampler_expression() support constexpr samplers
      when using argument buffers, plus refactor to minimize generating
      _expression_ text that may not be used.
    
    - Handle padding around multi-plane images that require multiple textures.
      Only check for padding on the first plane, but include plane count in
      total argument buffer slots consumed.
    
  • 488559ff
    by Bill Hollings at 2024-06-14T13:35:11-04:00
    MSL: Support descriptor sets with recursive content when using argument buffers.
    
    When using argument buffers, handle descriptor set entry points with
    recursive content, similar to discrete entry points with recursive content.
    
    - For descriptor sets entry points with recursive content, add
      descriptor set to recursive_inputs, and create a local var for it.
    
    - For recursive entry points that are contained in a descriptor set
      argument buffer, don't add entry point to recursive_inputs, or create
      a local var for that content entry point.
    
    - Add test shader.
    
  • e818cfd0
    by Hans-Kristian Arntzen at 2024-06-17T12:34:00+02:00
    Merge pull request #2339 from billhollings/constexp-samp-arg-buff
    
    MSL: Fixes for constexpr sampler use with argument buffers.
  • d7ad3d72
    by Hans-Kristian Arntzen at 2024-06-17T12:44:22+02:00
    Apply suggestions from code review
    
    Fix nits
  • ab608ac8
    by Hans-Kristian Arntzen at 2024-06-17T12:45:23+02:00
    Merge pull request #2343 from billhollings/recurs-desc-set-arg-buff
    
    MSL: Support descriptor sets with recursive content when using argument buffers.
  • 11be429e
    by Hans-Kristian Arntzen at 2024-06-17T13:19:53+02:00
    MSL/C: Add _2 variant for the resource binding API.
    
    Adds missing count variable for bindless.
    
  • 98d9e42e
    by Hans-Kristian Arntzen at 2024-06-17T13:59:15+02:00
    Merge pull request #2345 from KhronosGroup/fix-2337
    
    MSL/C: Add _2 variant for the resource binding API.
  • b5ccb0cf
    by Bill Hollings at 2024-06-18T10:55:43-04:00
    MSL: Image gather ConstOffsets supports multiple address spaces.
    
    Required when using descriptor set argument buffers.
    
    - Output overloaded functions for each address space.
    - Update test shaders.
    
  • 5d127b91
    by Hans-Kristian Arntzen at 2024-06-18T17:12:18+02:00
    Merge pull request #2344 from billhollings/gather-constoffsts-arg-buffs
    
    MSL: Image gather ConstOffsets supports multiple address spaces.

30 changed files:

The diff was not included because it is too large.

Reply to: