Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protocol error message #1521

Closed
hokata opened this issue Mar 18, 2015 · 18 comments
Closed

Protocol error message #1521

hokata opened this issue Mar 18, 2015 · 18 comments

Comments

@hokata
Copy link

hokata commented Mar 18, 2015

Just a point not very important because everything is working well but I've got this message each time I launch retroarch (tested with nestopia, gambatte, bsnes_mercury, genesis_plus_gx and even with the --menu cli option) :

Protocol error: bad 3 (Window); Sequence Number 5
Opcode (20, 0) = GetProperty
Bad resource 1449275654 (0x56623106)
at -e line 15

I got a retroarch uptodate an hour ago.

@inactive123
Copy link
Contributor

At the very least specify which video context driver you're trying to run, this is totally insufficient information to provide on its own.

@hokata
Copy link
Author

hokata commented Mar 19, 2015

Sure, so i'm on debian wheezy + backports and I tried with gl and sdl2 video_driver.
By the way, everything is working as expected.

When I used --verbose, the order is :

RetroArch: gl_set_nonblock_state: [GL]: VSync => on
Protocol error: bad 3 (Window); Sequence Number 5
Opcode (20, 0) = GetProperty
Bad resource 1483866712 (0x58720258)
at -e line 15
RetroArch: x11_query_screens: [X11]: Xinerama version: 1.1.

If you want some more info, don't hesitate.

@andres-asm
Copy link
Contributor

Please test on the current code, and reopen if the issue persists

@modeler
Copy link

modeler commented Oct 15, 2015

I'm getting exactly the same issue on Arch Linux now, using either the stable 1.2.2 release or the current git version:

$ retroarch
Protocol error: bad 3 (Window); Sequence Number 5
Opcode (20, 0) = GetProperty
Bad resource 411517808 (0x18874370)
at -e line 15.

Strangely, it causes Chromium to hang, i.e. no tabs can be opened or closed, no input into the window at all. When I close RetroArch it's okay again.

This only happens when I'm logged in as myself; if I run RetroArch as root it's okay. DBUS issue?

@hokata
Copy link
Author

hokata commented Oct 15, 2015

It's seems resolved on my side (long time without tested)

I got new problem (nestopia core too quick) but may try to do some more test and post a new issue.

@modeler
Copy link

modeler commented Oct 18, 2015

This issue is only showing in GNOME. Prior to this appearing I ran a system update and got the following when running RetroArch:

retroarch: error while loading shared libraries: libpython3.4m.so.1.0: cannot open shared object file: No such file or directory

So I rebuilt from source (stable branch) and RetroArch would run again and this came up (but it does run):

Can't locate Net/DBus.pm in @inc (you may need to install the Net::DBus module) (@inc contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at -e line 5.
BEGIN failed--compilation aborted at -e line 5.

I installed perl-net-dbus to provide this file, then I got:

Can't locate X11/Protocol.pm in @inc (you may need to install the X11::Protocol module) (@inc contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at -e line 6.
BEGIN failed--compilation aborted at -e line 6.

I installed perl-x11-protocol, then I get the message I reported earlier:

Protocol error: bad 3 (Window); Sequence Number 5
Opcode (20, 0) = GetProperty
Bad resource 622221350 (0x25165826)
at -e line 15.

Hope this helps narrow it down a little. Please let me know if there's anything I can do.

@gizmo98
Copy link
Contributor

gizmo98 commented Feb 28, 2016

I get exactly the same error message if i try to run reicast-libretro from within ubuntu unity. Every other core is running fine.

@kivutar
Copy link
Member

kivutar commented Mar 20, 2016

Possibly the same bug or related #1926

@harkor
Copy link

harkor commented Apr 25, 2016

Same problem on Fedora 23

t-paul added a commit to t-paul/RetroArch that referenced this issue May 5, 2016
The protocol error reported in libretro#1521 is caused by two different issues.
First xdg-screensaver fails to parse decimal values for the window id
(https://bugzilla.redhat.com/show_bug.cgi?id=1274931). Using the hex
notation fixes this part.

Second, the script reads the WM_NAME property from the window which is
not yet available at this time. Calling x11_update_window_title() early
ensures the property is set when xdg-screensaver is run.
inactive123 added a commit that referenced this issue May 5, 2016
Initialize window name at window creation time (fixes #1521).
@barraponto
Copy link

barraponto commented Jan 6, 2019

I still see this issue with 1.7.5 on Archlinux running Gnome.

@orbea
Copy link
Contributor

orbea commented Jan 6, 2019

Can you please make a new issue report and follow the template to the best of your ability? Thanks!

@julianxhokaxhiu
Copy link

julianxhokaxhiu commented Mar 18, 2019

Same under Gnome 3.32 on Arch Linux, using Vulkan driver with Intel/nVidia combination laptop.

➜ yay -Qs vulkan-intel
local/vulkan-intel 18.3.4-1
    Intel's Vulkan mesa driver

➜ yay -Qs nvidia      
local/lib32-libvdpau 1.2-1
    Nvidia VDPAU library
local/libvdpau 1.2-1
    Nvidia VDPAU library
local/nvidia 418.43-7
    NVIDIA drivers for linux
local/nvidia-utils 418.43-2
    NVIDIA drivers utilities
local/opencl-nvidia 418.43-2
    OpenCL implemention for NVIDIA

➜ retroarch  
[INFO] [recording] twitch streaming key empty
[INFO] RetroArch 1.7.6 (Git 9750719074)
[INFO] === Build =======================================
Capabilities: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 AVX AES 
Built: Mar 18 2019
[INFO] Version: 1.7.6
[INFO] Git: 9750719074
[INFO] =================================================
[INFO] Environ SET_PIXEL_FORMAT: RGB565.
[INFO] Redirecting save file to "/home/julian/.config/retroarch/savefile/.srm".
[INFO] Redirecting savestate to "/home/julian/.config/retroarch/savestate/.state".
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 29970.03 Hz.
[INFO] [Video]: Video @ fullscreen
[ERROR] [Wayland]: Failed to connect to Wayland server.
[INFO] Vulkan dynamic library loaded.
[INFO] [Vulkan]: Detecting screen resolution 1920x1080.
[INFO] [GLX]: Window manager is GNOME Shell.
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [GLX]: Using Xinerama on screen #0.
[INFO] [GLX]: X = 0, Y = 0, W = 1920, H = 1080.
[INFO] [GLX]: Using windowed fullscreen.
[INFO] [Vulkan]: Using GPU: GeForce MX130
[INFO] [Vulkan]: Queue family 0 supports 16 sub-queues.
[INFO] [Vulkan]: Swapchain supports present mode: 2.
[INFO] [Vulkan]: Swapchain supports present mode: 3.
[INFO] [Vulkan]: Swapchain supports present mode: 0.
[INFO] [Vulkan]: Creating swapchain with present mode: 2
[INFO] [Vulkan]: Using swapchain size 1920 x 1080.
[INFO] [Vulkan]: Got 3 swapchain images.
[INFO] [Vulkan]: Using resolution 1920x1080
[INFO] [Vulkan]: Using RGB565 format.
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [Vulkan]: Loading stock shader.
[INFO] [slang]: Building pass #0 (N/A)
[INFO] [slang]: Reflection
[INFO] [slang]:   Textures:
[INFO] [slang]:      Source (#0)
[INFO] [slang]:
[INFO] [slang]:   Uniforms (Vertex: yes, Fragment: no):
[INFO] [slang]:   Push Constants (Vertex: no, Fragment: no):
[INFO] [slang]:      MVP (Offset: 0)
[INFO] [slang]:
[INFO] [slang]:   Parameters:
[INFO] [Vulkan filter chain]: Not using frame history.
[INFO] [Vulkan filter chain]: Not using framebuffer feedback.
[INFO] [udev]: Keyboard #0 (/dev/input/event2).
[INFO] [udev]: Mouse #0 (/dev/input/event9).
[INFO] [udev]: Mouse #1 (/dev/input/mouse0).
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [X11]: Suspending screensaver (X11, xdg-screensaver).
[INFO] [Video]: Found display server: x11
[INFO] [PulseAudio]: Requested 24576 bytes buffer, got 18432.
[INFO] [Menu]: Found menu display driver: "vulkan".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [LED]: LED driver = 'null' 0x558dd5ab9500
[INFO] [MIDI]: Initializing ...
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "null" driver.
[INFO] SRAM will not be saved.
[INFO] Loading history file: [/home/julian/.config/retroarch/content_history.lpl].
[INFO] Loading history file: [/home/julian/.config/retroarch/content_favorites.lpl].
[INFO] Loading history file: [/home/julian/.config/retroarch/content_music_history.lpl].
[INFO] Loading history file: [/home/julian/.config/retroarch/content_video_history.lpl].
[INFO] Loading history file: [/home/julian/.config/retroarch/content_image_history.lpl].
[INFO] [Vulkan]: VSync => on
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [slang]: Building pass #0 (N/A)
[INFO] [slang]: Reflection
[INFO] [slang]:   Textures:
[INFO] [slang]:      Source (#0)
[INFO] [slang]:
[INFO] [slang]:   Uniforms (Vertex: yes, Fragment: no):
[INFO] [slang]:   Push Constants (Vertex: no, Fragment: no):
[INFO] [slang]:      MVP (Offset: 0)
[INFO] [slang]:
[INFO] [slang]:   Parameters:
[INFO] [Vulkan filter chain]: Not using frame history.
[INFO] [Vulkan filter chain]: Not using framebuffer feedback.
[INFO] [PulseAudio]: Unpausing.
[INFO] [Vulkan]: VSync => on
[INFO] [PulseAudio]: Pausing.
Protocol error: bad 3 (Window); Sequence Number 11
 Opcode (20, 0) = GetProperty
 Bad resource 0 (0x0)
 at -e line 15.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Vulkan]: Do not need to re-create swapchain.
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [slang]: Building pass #0 (N/A)
[INFO] [slang]: Reflection
[INFO] [slang]:   Textures:
[INFO] [slang]:      Source (#0)
[INFO] [slang]:
[INFO] [slang]:   Uniforms (Vertex: yes, Fragment: no):
[INFO] [slang]:   Push Constants (Vertex: no, Fragment: no):
[INFO] [slang]:      MVP (Offset: 0)
[INFO] [slang]:
[INFO] [slang]:   Parameters:
[INFO] [Vulkan filter chain]: Not using frame history.
[INFO] [Vulkan filter chain]: Not using framebuffer feedback.
[INFO] [PulseAudio]: Unpausing.
[INFO] [Vulkan]: VSync => on
[INFO] [PulseAudio]: Pausing.
[INFO] [PulseAudio]: Unpausing.
[INFO] [PulseAudio]: Unpausing.
[INFO] [Config]: Saved new config to "/home/julian/.config/retroarch/retroarch.cfg".
[INFO] Unloading game..
[INFO] [PulseAudio]: Pausing.
[INFO] Unloading core..
[INFO] Unloading core symbols..
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [XINERAMA]: Saved monitor #0.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.

@RealOrko
Copy link

RealOrko commented Jan 1, 2020

I am also seeing this on Fedora 31 after compiling RetroArch from master. It only happens when I try to launch PSX games using beetle.

@RulerOf
Copy link

RulerOf commented May 2, 2020

I ran into this problem. It wasn't enough to turn off Vulkan—I had to uninstall the Intel Vulkan driver to resolve the issue. This was on an i5 3470.

I decided that I'll just buy an nVidia card and use Vulkan with that if I need Vulkan for some reason.

@kwyxz
Copy link
Contributor

kwyxz commented May 20, 2020

Interestingly enough, I just encountered this very bug after building RetroArch on a fresh new install of Solaris 11.4, which now ships with GNOME3 as the default desktop environment.

I also encountered the following:

Can't locate Net/DBus.pm in @inc (you may need to install the Net::DBus module) (@inc contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at -e line 5.
BEGIN failed--compilation aborted at -e line 5.

and

Can't locate X11/Protocol.pm in @inc (you may need to install the X11::Protocol module) (@inc contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at -e line 6.
BEGIN failed--compilation aborted at -e line 6.

which are missing from Solaris 11.4 and had to be installed from CPAN. After these were installed and RetroArch rebuilt, I got this:

Protocol error: bad 3 (Window); Sequence Number 5
Opcode (20, 0) = GetProperty
Bad resource 622221350 (0x25165826)
at -e line 15.

Now trying to install another desktop environment to see if I can still reproduce the issue.

@inactive123
Copy link
Contributor

I've narrowed this down to xdg_screensaver_inhibit being the culprit. I have no idea how to fix it yet though.

@cklinkbeil
Copy link

Has anyone got a fix for this? I am running into it on Ubuntu as well. I tried changing all sorts of video/display settings in retroarch and it still does not fix anything.

@sonninnos
Copy link
Collaborator

The output here on Ubuntu was

Protocol error: bad 3 (Window); Sequence Number 11
 Opcode (20, 0) = GetProperty
 Bad resource 0 (0x0)
 at -e line 16.

And indeed suspend_screensaver_enable = "false" stopped it.

warmenhoven added a commit to warmenhoven/RetroArch that referenced this issue Jan 15, 2023
49e4117c5f Updates for main branch rename.
88c6b49959 Merge pull request #2085 from KhronosGroup/fix-2075
a085227395 Merge pull request #2084 from KhronosGroup/fix-2069
1047c13d40 GLSL: Handle textureGatherOffsets properly.
f84527346d GLSL: Declare gl_in/gl_out as array more robustly.
38cd214007 Merge pull request #2083 from KhronosGroup/pr-2080
d46c10ebd3 Refactor PHI checks into block_is_noop instead.
bcbe33ad11 Also consider NonSemantic ExtInst in block_is_noop.
9d8ef6b36c Update test for updated block_is_noop check.
a61a541e1c Merge branch 'accept_noop' of https://github.com/loic-sharma/SPIRV-Cross into pr-2080
457fd3db70 Add tests for loops compiled with debug semantics.
07a629f149 Roll dependencies.
d69a2cafe5 Accept no ops
cded61dde3 Merge pull request #2076 from billhollings/ios-tier2-writable-images
284ccf5d2d Fixes from code review of adding writable images to iOS Tier2 argument buffers.
0bb28ef88a Merge pull request #2078 from KhronosGroup/fix-2072
549cde7fae Fix GCC5 build.
cc2b3b61a6 Merge pull request #2077 from EpicGames/fixes_glsl
6371580f51 Fixed typo in CompilerGLSL::should_dereference()
643b7be196 MSL: Add support for writable images in iOS Tier2 argument buffers.
a89dea3c49 Merge pull request #2071 from KhronosGroup/fix-2068
baf38f0593 Merge pull request #2070 from KhronosGroup/fix-2066
68a012a4f2 CFG: Handle implied access to opaque loaded values.
03b1f66ef1 GLSL: Fix row-major workaround wrapper for ES.
3c997e12eb Add C API option for enable row major workaround.
c77b09b57c Merge pull request #2063 from KhronosGroup/fix-2060
451ed10e91 Merge pull request #2062 from cdavis5e/msl-spirv-assembly-fixes
df76a14056 MSL: Refactor member reference in terms of one boolean.
e75c496ec6 Fix MSL Access Chain
540a1e82c6 Merge pull request #2056 from cdavis5e/msl-discarded-frag-checks
061cdd2052 MSL: Don't dereference forwarded copies of `OpVariable` pointers.
5547b25afe Interleave undef values with constants and types.
06ef3de002 GLSL, MSL: Handle `OpUndef` as part of a constant composite.
aa5a8c482e MSL: Prevent stores to storage resources in discarded fragments.
51d2dfe02a MSL: Add missing casts to `Op?MulExtended`.
c7ce92a95b MSL: Manually update `BuiltInHelperInvocation` when a fragment is discarded.
edd66a2fc9 Merge pull request #2055 from KhronosGroup/fix-2053
e8a22a7cf6 Handle ShaderDebugInfo non-semantic extension.
abc31207bf Merge pull request #2052 from KhronosGroup/hlsl-mesh-shader-ext
b606e4f752 HLSL: Fix test for non-block per-primitive IO.
ebf779dcfb HLSL: Do not support ClipCull size > 4 in mesh shaders.
94160e8890 GLSL: Add test for mesh with non-block builtin IO.
3a066cd733 HLSL: Handle case where PerVertex block is not used.
f5ef0a74fb HLSL: Make sure to test deeply nested functions in mesh shaders.
e418266d25 HLSL: Some cleanups and fixes in analyze_meshlet_writes.
892f65b3a6 HLSL: Fix some warnings from review.
a4d5c0c4a5 HLSL: Fix-up some style issues from review.
10f55a11eb HLSL: Add missing reference for mesh shader test.
322f1b9fb3 Fixup glslang reference.
80146a20da HLSL: Implement VK_EXT_mesh_shader
744279ec78 Merge pull request #2050 from cdavis5e/op-spec-constant-op-composite-insert
8cf99e7d44 MSL: Implement `CompositeInsert` `OpSpecConstantOp`.
3cecac74c6 Merge pull request #2051 from KhronosGroup/roll-glslang-dep
605bce39d7 Roll glslang dependency.
677299cc56 Merge pull request #2049 from KhronosGroup/fix-2046
4de9d6c2b6 MSL: Handle implicit integer promotion rules.
c813d8d67b Merge pull request #2044 from KhronosGroup/fix-2038
2a49f7e82d MSL: Fix restrict vs __restrict incompatibility.
3ea057a303 Merge pull request #2045 from KhronosGroup/fix-2037
0851baf9ee Merge pull request #2043 from KhronosGroup/fix-2040
47c7fc16eb HLSL: Add option to bind vertex input smemantics by name.
04af769e85 MSL: Handle partial access chains with array-of-UBO/SSBO.
5763919669 Merge pull request #2039 from cdavis5e/raw-buffer-tess-input
e698633e22 MSL: Account for composite types when assigning locations.
0b679334e4 MSL: Don't flatten arrayed per-patch output blocks in tessellation shaders.
a171087180 MSL: Support "raw" buffer input in tessellation evaluation shaders.
f09ba27777 Merge pull request #2035 from KhronosGroup/fix-2032
f15d465a52 Merge pull request #2034 from KhronosGroup/fix-2028
799d8c9e35 Merge pull request #2033 from KhronosGroup/fix-2029
b5386e3ea9 HLSL: Improve support for VertexInfo aux struct.
4ecdb24e59 MSL: Expose way to query if a buffer needs array length.
f3b1375b13 Add reflection support for shader record buffers.
c821207ae2 Merge pull request #2027 from billhollings/msl-opstore-addr-space-cast
0a1127aa50 MSL: Emit correct address space when casting during OpStore.
81ba8f78f6 Merge pull request #2025 from KhronosGroup/fix-2009
291def0793 MSL: Add more keywords to reserved set.
a7f64a8b90 MSL: Report unsupported 64-bit atomics.
ddaa2da629 Merge pull request #2024 from KhronosGroup/msl-descriptor-aliasing
a915e0bd4b MSL: Do not attempt to alias push constants.
adf0995bb9 Merge pull request #2023 from KhronosGroup/msl-descriptor-aliasing
24dc49e692 MSL: Handle descriptor aliasing of raw buffer descriptors.
1ad6006130 Merge pull request #2021 from siegelaaron94/opengles_texture1d_textureSize
7b4c470f16 GLSL: Account for ES sampler1D to sampler2D promotion in textureSize.
6d3518e238 Merge pull request #2018 from atyuwen/master
7afbbb624a Merge pull request #2019 from billhollings/msl-OpPtrEqual-OpPtrNotEqual-OppPtrDiff
5493b3030e MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff.
1b9296e1a5 MSL: only fix up gl_FragCoord if really necessary.
f6ca617825 Merge pull request #2017 from KhronosGroup/roll-deps
a5a7999666 Update mesh/task test references.
d7a6861f64 Update glslang/spirv-tools.
1e7e9fc32b Merge pull request #2015 from FrankXie05/vcpkg-instructions
8553588895 Merge pull request #2014 from cdavis5e/msl-shader-output-fixup
064eaebe72 MSL: Add a mechanism to fix up shader outputs.
d206e54ece Add vcpkg installation instructions
210a800130 Merge pull request #2012 from KhronosGroup/mesh-shaders
4c345166dc GLSL: Implement task shaders.
5762617729 GLSL: Implement GL_EXT_mesh_shader.
6a73e68d30 Update glslang reference.
ec7b9b0ce7 Update SPIR-V headers.
9fcf62784b Merge pull request #2011 from KhronosGroup/roll-deps
d24f41f1d5 Update dependencies.
c93ee9261e Merge pull request #2005 from atyuwen/master
f40dba4919 GLSL: added an option to disable row-major-load workaround.
10f2aa77da Skip remapped vars in 'fixup_reserved_names'
9afa82e7b8 GLSL: disable row major load around on GLES.
33e19e86bf Don't rename remapped variables like 'gl_LastFragDepthARM'
61c603f3ba Merge pull request #1996 from KhronosGroup/fix-1993
bc3987e59a MSL: Fix various bugs with Ptr/U bitcasts.
c084973c67 Merge pull request #1995 from KhronosGroup/fix-1992
05bbcc2d09 Do not optimize OpCompositeInsert for hoisted temporaries.
a725d8fad1 Fix minor style nit from review.
1bc05ef735 Merge branch 'master' of https://github.com/gpx1000/SPIRV-Cross
a9cadd4982 Merged in cts-shared-composite-variables (pull request #1)
fc4a12fd4f MSL: Use a wrapper type for matrices in workgroup storage.
faea931de3 MSL: Also replace `bool` with `short` in structures.
0cccd0a65a Merge pull request #1986 from KhronosGroup/fix-1975
4dfac510ed Handle multiple breaks out of switches.
c24d5a7b90 Merge pull request #1985 from KhronosGroup/fix-1973
8ba0820c9d Merge pull request #1984 from KhronosGroup/fix-1972
095e9e5cee Merge pull request #1982 from RandomShaper/hlsl_subgroup_scan
be904dcc1e Handle collapsed loops similar to collapsed selections.
f7e98c39db Avoid detection of false loop variables.
cb4e310f43 Merge pull request #1983 from KhronosGroup/fix-1979
1fe470b199 HLSL: Implement GroupOperation(Inclusive/Exclusive)Scan.
06ca9accd7 HLSL: Add option to emit entry point name 1:1 instead of main().
d8d051381f Merge pull request #1970 from KhronosGroup/fix-1969
963fdfdf68 Handle PHI in collapsed switch constructs.
f46745095d Merge pull request #1965 from billhollings/msl-physical_storage_buffer
064a697b18 MSL: Fix implicit conversion precision build error.
4185acc70d MSL: Fixes from review for SPV_KHR_physical_storage_buffer extension.
78eb5043f9 MSL: Fixes from review for SPV_KHR_physical_storage_buffer extension.
e6925974d1 Merge pull request #1966 from fred-wang/macos-snprintf
9c44a97faa address more review comments
1310f5ba4d Keep using sprintf on windows.
99f8613847 Fix compilation errors with deprecated sprintf function
ba3e6ffe03 Merge pull request #1964 from sergmister/patch-1
52c7c2dab6 MSL: Add support for SPV_KHR_physical_storage_buffer extension.
1bba4d5137 Fix typo
99b59b3528 Merge pull request #1963 from KhronosGroup/convert-u-to-rtas-fix
e08e0cf28d GLSL: Handle forced temporary OpConvertUToAccelerationStructureKHR.
89b1c24bdc Merge pull request #1961 from RandomShaper/hlsl_more_bitcasts
d8c5e39436 HLSL: Implement bit casts between Half and UShort.
197a273fd4 Merge pull request #1959 from KhronosGroup/fix-1955-1956
df21a99d1a GLSL: Add more extension ladder fallbacks for unusual integer sizes.
a97bbc24c5 Merge pull request #1958 from KhronosGroup/fix-1957
cdafafe93b Merge pull request #1954 from vkaytsanov/patch-1
533aab00b6 GLSL: Add missing KHR barycentric references.
46e4b5a3c8 Fix control flow bug where we missed continue;
612de70b38 Fix missing function in README sample
50b4d5389b Merge pull request #1953 from KhronosGroup/bary-khr
e45d01c41f Emit KHR barycentrics if source enables the KHR extension.
0aedc7d128 Roll dependencies.
af223101c6 Merge pull request #1952 from KhronosGroup/fix-1944
c8ab790163 Merge pull request #1951 from KhronosGroup/fix-1950
88e583d062 GLSL: Add basic support for GL_EXT_shader_atomic_float.
1c88730e12 GLSL: Implement 1D texture emulation for ES.
3f855646f0 Merge pull request #1948 from iwubcode/gl_layer_hlsl
a6976d596a HLSL: fix BuiltInLayer to emit semantic 'SV_RenderTargetArrayIndex' instead of 'SV_RenderTargetIndex'
b3ff97d0fe Merge pull request #1946 from KhronosGroup/fix-1943
48d50fa911 Merge pull request #1945 from KhronosGroup/fix-1938
d08ce828f4 Promote Unreachable cases into break to avoid fallthrough.
4b9e60273c Add tests for OpCompositeInsert edge cases.
23662668dd Attempt more optimal codegen for OpCompositeInsert.
d0c8dc3045 Merge pull request #1942 from KhronosGroup/no-fetch-grad-workaround
a3c4177324 GLSL: Don't apply Grad LOD workarounds for fetch.
bfefb5f511 Merge pull request #1941 from KhronosGroup/fix-1934
832d469048 Merge pull request #1940 from KhronosGroup/fix-1935
05206005ca MSL: Potentially cast loaded Input variables.
92164d38d1 GLSL: Do not analyze precision for Undef variables.
940efca099 Merge pull request #1936 from KhronosGroup/rt-stage-cli
0b303aab16 Add --stage handling for ray tracing.
0c8a79b0b5 Merge pull request #1932 from KhronosGroup/fix-1868
7eb5ced2a0 Refactor out query for operation type/result IDs.
7a6c2da9aa GLSL: Handle more proper semantics for RelaxedPrecision.
d28136cc7a GLSL: Clean up some ways of querying decoration flags.
a9d23d7652 Merge pull request #1931 from EpicGames/fixes_hlsl
65431446f4 HLSL: Add missing BuiltInLayer to HLSL backend.
6ae7ddb92a Merge pull request #1930 from KhronosGroup/fix-1928
960edcd396 Merge pull request #1929 from KhronosGroup/fix-1925
10a7631d50 HLSL: Add more comprehensible reserved identifier list.
40b3053b4c Handle early reads from loop variables with initializers.
c52333b984 Merge pull request #1924 from stefalie/master
ee4ac5c2ce Merge pull request #1927 from billhollings/msl-interface-block-array-length-1
3bca246ad2 MSL: Emit interface block members of array length 1 as arrays instead of scalars.
089cf27119 remove newline at eof
56fd17f552 add qualifiers to reference reflect json output
05c9a14422 cli: display missing memory qualifiers for reflect and dump-resources
d7cae5e7cd Merge pull request #1917 from KhronosGroup/fix-1906
0500f9ed5d Merge pull request #1916 from KhronosGroup/fix-1910
d2a4f9842b GLSL: Support GL_EXT_debug_printf.
5b18fb1bcd MSL: Pass down global RayQuery object to leaf functions.
779138f39f Merge pull request #1914 from RandomShaper/hlsl_view_index
2ea1c9b642 HLSL: Implement ViewIndex.
6a67891418 Merge pull request #1909 from skkkksdkfak/primitive_id
54c00b69a4 Translate gl_PrimitiveID to SV_PrimitiveID.
0d4ce028bf Merge pull request #1903 from KhronosGroup/fix-1900
17c52990d5 MSL: Fix goofy bugs in ray query.
a3996eccf3 Merge pull request #1896 from Roy-AMD/fix-condition-issue
749be80389 Use types have same widths in loop condition.
44691aa975 Merge pull request #1899 from billhollings/forward-volatile-vars-except-builtins
85f98eb0c5 Allow volatile vars that are not builtins to be forwarded.
d000b9e71c Merge pull request #1898 from KhronosGroup/pr-1859
191c57b6cc Merge pull request #1897 from KhronosGroup/fix-1763
a7eefbc114 HLSL: Disable FXC testing for rayquery shaders.
cd209ff46d HLSL: Update test from review.
c95338e03e Merge branch 'ray_query' of https://github.com/k-payl/SPIRV-Cross into pr-1859
7b9eaf0b5e MSL: Handle awkward mix and match of Offset / ArrayStride in constants.
251361bd6f VK_KHR_ray_query implementation
565db34cba Merge pull request #1892 from KhronosGroup/meta-lookup-cleanup
39bad2c1f9 Avoid redundant meta lookups in ParsedIR when setting member decorations.
d5c3bd8b5e Merge pull request #1890 from KhronosGroup/fix-1889
4ab5bbb4e5 Fixup names of anonymous inner structs.
0b51794f01 Merge pull request #1888 from KhronosGroup/msl-ib-variable-name-alias-fix
1ec9d018fd MSL: Handle aliased variable names for resources placed in IB struct.
213c5f42ea MSL: Fix minor nits.
4ec1fb0aa9 Merge pull request #1887 from billhollings/msl-use-var-name-for-flattened-interface-struct-members
0c0fd98322 MSL: Use var name instead of var-type name for flattened interface members.
3915c37bb1 Merge branch 'fixup_gl_helper_invocation' of https://github.com/RandomShaper/SPIRV-Cross
c4f9e4fde9 HLSL: Fix Helper Invocation wrongly allowed in compute.
a1803778c2 Merge pull request #1885 from KhronosGroup/helper-invocation-rework
b192b8887a MSL: Consider that gl_IsHelperInvocation can be Volatile.
15d29f00e2 Add test for SPIR-V 1.6 Volatile HelperInvocation.
93b0dc7718 Consider Volatile in should_forward().
476b6541fa Remove forwardable bit in SPIRVariable.
5d9fc2d903 HLSL: Add test for HelperInvocation.
005c14ad6a HLSL: Implement HelperInvocationEXT.
75224c6c7c Merge branch 'gl_helper_invocation' of https://github.com/RandomShaper/SPIRV-Cross
278a4c80ed HLSL: Add support for gl_HelperInvocation
6c7a40822f Merge pull request #1881 from KhronosGroup/relax-nan-checks
31be74a853 Add relax_nan_checks options.
b91ecf6077 Merge pull request #1880 from KhronosGroup/fix-1879
2ce1e5c140 Merge pull request #1878 from mysterymath/move
dc62cc792b Handle OpTerminateInvocation.
2a7f436135 Merge branch 'msl-add-nested-structs-to-io-blocks-squash'
7b594c125e Fix formatting nits from review.
bb4ced0280 MSL: Document clarification of location incrementing.
02d588b7e4 MSL: Fix var names in test shaders to avoid reserved identifiers.
3bb3b22b34 MSL: Non-functional fixes from PR code review.
3d4daab29d MSL: Support input/output blocks containing nested struct arrays
44c3333a1c Qualify std::move.
d16183d1d2 Merge pull request #1873 from KhronosGroup/fix-1861
02440e85cf Merge pull request #1872 from KhronosGroup/fix-1867
7af0a5f820 HLSL: Do not emit VPOS fixup unless position is active.
5555f2784b MSL: Refactor and fix use of quadgroup vs simdgroup.
a569680406 Merge pull request #1870 from abrachet/master
0eda71c409 Qualify move as std::move
c08ee860c8 Merge pull request #1869 from xndcn/msl
1b5c406a3d MSL: append entry point args to local variable names to avoid conflicts
188dc8b13c Merge pull request #1862 from flokart-world/feature/flatten-ubo-for-hlsl
64e058aa9b Merge pull request #1863 from KhronosGroup/various-fixes
ed4ded040e HLSL: Make --flatten-ubo work correctly
a56b22bf4e Add more scenarios where we can guarantee forward progress.
c716a9a5dd Add debug option to modify maximum number of compile iterations.
29cc18988c Fix regression from adding 64-bit switch support.
339e61a0e0 Do not emit hoisted access chain temporaries unless backend supports it.
5d9a95370f GLSL: Ensure correct signed integer type for more texture functions.
131278458e Merge pull request #1860 from KhronosGroup/docs-update
a8016a6470 Update documentation for descriptor set support in MSL/HLSL.
1a36968e5d [Spirv_msl] Fix normalize on half3/half2 (#1856)
53d94a982e Merge pull request #1852 from KhronosGroup/fix-1850
5a29181b35 Merge pull request #1851 from KhronosGroup/fix-1835
5b952d2cbf MSL: Rethink how opaque descriptors are passed to leaf functions.
ac46140ba3 Test aliased names in declared LUTs.
48b5a9069f Handle aliased names in spec constants.
08d5f5ed18 Merge pull request #1849 from KhronosGroup/fix-1844
9b25581d49 MSL: Handle constant construct of block-like array types.
79b13813c6 Merge pull request #1848 from KhronosGroup/fix-1843
5a5be7f9b9 MSL: Handle signed atomic min/max.
7dd974b9db Merge pull request #1847 from KhronosGroup/fix-1775
e940577fba Merge pull request #1846 from KhronosGroup/fix-1760
1d13a3e36a Rework how loop iteration counts are validated.
ef6bde6580 Do not forward expressions which carry a huge amount of dependencies.
a1bb29ccbb Merge pull request #1845 from KhronosGroup/pr-1842-fix
017cdfe25b Update references for GL_EXT_texture_buffer.
4407c0dd14 fix: GL_EXT_texture_buffer is more common than GL_OES_texture_buffer
fe5a0aa72f Merge pull request #1839 from KhronosGroup/spv1.6
e8b30cc31d Merge pull request #1838 from KhronosGroup/fix-1811
7c12228359 Add sanity test for SPIR-V 1.6 modules.
7c83fc22fa Add support for LocalSizeId.
35bb328443 Test: Add --allow-localsizeid flag for spirv-val.
eadca962c8 Merge pull request #1837 from KhronosGroup/roll-deps
a10d72e3b1 Merge pull request #1834 from chirsz-ever/chirsz/fix-msl-copy-array
fe8848a6f2 Roll dependencies.
9c0b74f73b Merge pull request #1836 from KhronosGroup/pr-1824-fixup
be333e0cab MSL: Move float2->3 TessCoord fixup to a better location.
2793d22af5 Merge branch 'master' of git://github.com/cfnptr/SPIRV-Cross
e0ae55d5e2 Merge pull request #1822 from etra0/add-diff
55a0291ce5 Merge pull request #1817 from etra0/fix-1784
90c252274d MSL: Allow copy array from UniformConstant storage
2acf0e73dd Fix gl_TessCoord arguments presence. Update reference shaders.
a66984072b Fix incorrect MSL gl_TessCoord variable type
2bb051206b test_shaders: Add the option to generate diff instead.
905b8244e7 Clamp vector element access to vector size.
e9cc640334 Merge pull request #1815 from etra0/fix-1768
25868923da Merge pull request #1819 from sindney/master
6d8302ef14 MSL: Add 64 bit switch support
4b0584ce70 ESSL: Vertex shader input doesn't support array types.
37dfb3f45f Merge pull request #1794 from etra0/master
5345051a85 Removed tracking of OpConstant and OpPhi.
7c3cb0b12c Merge pull request #1810 from billhollings/early-frag-tests-depth-out
248e9ae9ed MSL: Don't output depth and stencil values with explicit early fragment tests.
75e3752273 Added block.cases_32bit and reworked the cases fix
401296d3b8 Merge pull request #1808 from billhollings/depth-img-vs-depth-cmp
03f678dec4 Cast the switch selector in GLSL to uint32_t
fd252b21ff Separate (partially) the tracking of depth images from depth compare ops.
48046646ee Fixed wrong condition and formatting.
2e0fb3a778 Merge pull request #1807 from KhronosGroup/fix-1801
f1b411c9e8 GLSL: Deal with buffer_reference_align.
1adc53b107 Merge pull request #1806 from KhronosGroup/fix-1777
21a15b90e5 Merge pull request #1804 from KhronosGroup/fix-1759
2714f5410c CFG: Handle degenerate selection constructs.
e40d19bdbf MSL: Handle non-thread storage class in Modf/Frexp pointer versions.
f1d4aff85e Merge pull request #1805 from KhronosGroup/fix-1776
2c53d30664 Merge pull request #1803 from KhronosGroup/fix-1802
4561ecddbd Handle Modf/Frexp in more cases.
d295c2a046 Merge pull request #1800 from EddeDev/master
849978653a Merge pull request #1798 from billhollings/tess-output-clip
05e8e5a953 Correctly reflect declared buffer size for out of order members.
4dcf64a99b Fixed potential compilation error in spirv_cross_containers.hpp
250a02967d Removed unnecessary tracking of types.
4ebd56bf9e MSL: Correctly emit user(clip/cullN) for clip/cull builtins in tess output struct.
f099d714f3 Removing logic in the parser
04293e03fd Merge pull request #1797 from KhronosGroup/clone-protocol
0d03516382 Always use https protocol when cloning external test deps.
061397e32e Merge pull request #1792 from billhollings/uniform-struct-packing-nested
3eb5532979 Add 64 bit support for OpSwitch
be812c45e5 MSL: Remove over-zealous check for struct packing compatibility.
66adba17a8 Merge pull request #1791 from billhollings/msl-out-of-order-struct-offsets
76cb807c19 MSL: Fix type redirection when struct members are reordered to align with offsets.
29632959d2 Merge pull request #1787 from KhronosGroup/fix-1786
edf247fb1c MSL: Workaround compiler crashes when using threadgroup bool.
43eecb2360 SPIRV-Cross contribution needed for `INTEL_fragment_shader_ordering`
94dea2507e Merge pull request #1769 from audulus/spm2
f5219f47c3 Add Package.swift.
2a56c2bc04 Merge pull request #1783 from billhollings/more-unpacked-vectors
ab640bc3d3 Merge pull request #1782 from KhronosGroup/fix-1781
974a0818b8 MSL: Support more usecases for unpacked vectors.
2b5e17eca5 MSL: Never used templated array for RayQuery objects.
bc338710e1 MSL: Remove some redundant breaks.
5afb3d313f MSL: Fix some trivial bugs not caught by CI when adding ray query.
345a7d171c Merge pull request #1773 from congyue1977/master
2895a43274 Fix unsupported exceptions for ConvertUToAccelerationStructure & BindingTableRecordOffset.
d52ec1e196 Fix all requested changes, test_shaders.py supports compiling MSL 2.4 shaders, and the Intersection Query currently only supports MSL 2.4 on the iOS platform.
6d13c99273 Merge pull request #1780 from billhollings/out-of-bounds-swizzle-fix
595eb0c21d Per spec, support undefined behavior for out-of-bounds swizzles.
597f29d09d Support Metal 2.4 Intersection Query, Implement GL_EXT_ray_query.
e4243b898c Merge pull request #1766 from KhronosGroup/fix-1765
6382f15470 Test behavior around OpSelect with matrices.
6071df5840 Fix wrong detection of trivial_mix_op.
97a438d214 Merge pull request #1757 from KhronosGroup/fix-1754
f72bb3c6f5 Improve handling of INT_MIN/INT64_MIN literals.
457c00bd07 Merge pull request #1756 from KhronosGroup/fix-1753
91c25e8473 Merge pull request #1755 from KhronosGroup/fix-1751
9b2a8c7622 HLSL: Ensure synthetic NumWorkgroups variable is considered active.
bb04156d3c CLI/HLSL: Don't set explicit binding for synthesized NumWorkgroups CBV.
96d95fbb31 MSVC: Workaround crtdbg macroing free().
9462b90067 Merge pull request #1752 from billhollings/function-constants-opquantize
325f107c5b Merge pull request #1745 from billhollings/location-component-vecsize
ec054dad7f MSL: Support synthetic functions in function constants.
dee35bf3ce Merge pull request #1749 from billhollings/fastmath-quantize
ba66a91402 MSL: Use vec<T, n> in template SpvHalfTypeSelector for function spvQuantizeToF16().
a2671e35b0 MSL: Consolidate spvQuantizeToF16() functions into a single template function.
5742047b24 MSL: Honor infinities in OpQuantizeToF16 when compiling using fast-math.
05ac99ae23 Merge pull request #1748 from billhollings/fastmath-nocontraction
fb3defc9ef MSL: Honor DecorationNoContraction when compiling using fast-math.
548a23da34 MSL: Track location component to match vecsize between shader stages.
fe1af2ae72 Merge pull request #1747 from KhronosGroup/ci-fix
d579444a82 Merge pull request #1744 from billhollings/location-attribute-fix
6628e10fc6 Merge pull request #1746 from billhollings/fast-math-per-vulkan
3ca99bbbcc Remove tests for Ubuntu 16.04.
0f12557695 Remove obsolete Travis CI YML.
40141ffddf MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results.
86dfac12c8 MSL: Fix location and component variable matching between shader stages.
b81334a513 Merge pull request #1738 from billhollings/return-value-after-discard-terminator
2a150f5a2f MSL: Add explanatory comment requested in PR review.
35e92e6ffb MSL: Return fragment function value even when last SPIR-V Op is discard (OpKill).
c2500e504d Merge pull request #1735 from billhollings/add-const-op-exprs
472f9d4f6d Add tests for OpSpecConstantOp ops OpQuantizeToF16 and OpSRem.
5fb1ca4f0d Add support for additional ops in OpSpecConstantOp.
51d8e7be94 Merge pull request #1734 from KhronosGroup/buffer-reference-uvec2
b8f1e71907 GLSL: Emit GL_EXT_buffer_reference_uvec2 as required.
d6fe75df10 Merge pull request #1732 from KhronosGroup/fix-1731
23c4480d8e Fix switch fallthrough case in some cases.
0e2880ab99 Merge pull request #1729 from KhronosGroup/fix-1726
2eea6a579b MSL: Consider that function/private variables can be block-like.
840d4483bc Merge pull request #1728 from KhronosGroup/fix-1727
5b0cafb416 Track temporary access for OpArrayLength result.
c062b6b852 Merge pull request #1725 from billhollings/fix-duplicate-glposition
fad1590786 Merge pull request #1722 from billhollings/row-maj-mtx-store-from-const
27e7abeab1 Merge pull request #1724 from billhollings/msl-const-expr-casting
e76fcf9309 MSL: Add test for fixes to MSL constant expression type down-casting.
3105e82b2e MSL: Fix duplicate gl_Position outputs when gl_Position defined but unused.
a75fe07546 MSL: Fix casting in constant expressions with different sizes.
9552ca5473 MSL: Support row-major transpose when storing matrix from constant RHS matrix.
bab4e5911b Merge pull request #1716 from KhronosGroup/terminator-access-fix
cb613eb675 Handle value access in terminators.
1964799fba Merge pull request #1715 from KhronosGroup/precise-fp16-fp64
ac11a91792 GLSL: Emit precise for fp16/fp64 types as well.
cd22336a38 Merge pull request #1712 from cdavis5e/msl-subgroup-ballot-simplify
03ad13bae6 MSL: Simplify spvSubgroupBallot().
18f3cd6810 GLSL: Ensure ray query object decls are flushed if allocated in Function.
e51630595f Merge pull request #1711 from KhronosGroup/fix-1690
5b227cc57c GLSL: Implement GL_EXT_ray_query.
6196e3b029 MSL: Remove redundant path for SampleMask.
2fcbef398c Merge pull request #1709 from billhollings/fix-sample-mask-in
fe08bf4af4 Remove EXPERIMENTAL from JSON reflection backend.
ebb5098def MSL: Adjust gl_SampleMaskIn for sample-shading and/or fixed sample mask.
be3988b13c Merge pull request #1706 from SpaceIm/fix/ios-bundle
a70ce5192e Merge pull request #1708 from KhronosGroup/fix-interpolant-access-chain
71b83a18f4 MSL: Add test for scalar access chain pull interpolant.
d42c0b2e08 Merge pull request #1707 from billhollings/fix-interpolant-access-chain
3e04eee491 MSL: Fix setting SPIRVCrossDecorationInterpolantComponentExpr decoration.
d74eaabde0 fix cross-build to iOS/tvOS/watchOS
1ae2b58f19 Merge pull request #1700 from pkasting/master
bf746bd680 Merge pull request #1699 from KhronosGroup/pervertexnv
7cdab07efe Fix -Wunreachable-code-aggressive.
206ee8f171 GLSL: Support pervertexNV in NV barycentric extension.
c5b8022e61 Merge pull request #1669 from KhronosGroup/1560-reuse1
54882ad16d Add GLSL.std.450.h to REUSE.
3781d49d7c .gitignore ignored new license text
c862f8d22d Actually checkout repo into new reuse job
f2a65545b8 Finish adding SPDX tags and setup a reuse checked in Github Actions CI
2ceca64004 Add missing copyright headers.
853e84e8bf Merge pull request #1698 from KhronosGroup/fix-1691
d6b29ab017 HLSL: Rewrite how block IO is emitted.
9338996f3b Merge pull request #1697 from KhronosGroup/fix-1693
3149095585 Merge pull request #1696 from KhronosGroup/fix-1694
d75666b170 GLSL: Emit num_views for OVR_multiview2.
8216e87f02 Handle SPIR-V 1.4 selection constructs.
9cdeefb5e3 Merge pull request #1692 from Kangz/fix_default_copy_dtor
6a85c695cc Fix IVariant -Wdeprecated-copy-with-dtor
2e1b5fb39e Merge pull request #1686 from KhronosGroup/fix-1684
fa42f1ce34 Merge pull request #1685 from KhronosGroup/fix-1683
449f68ef3b Ensure loop control flow hints only appear above loops.
d62b3c2b92 GLSL: Implement control flow hints.
165dbff228 Handle odd type for textureGather component.
585fc6f3cb MSL: Always enable support for base vertex/index on iOS.
a6ce49ca24 Merge pull request #1680 from xndcn/cc
02fb8f2a24 Add comment after inf/nan float number for clarifying.
ff61890722 Merge pull request #1679 from okuoku/fix-c-sample-code
38c6ef1d56 Fix C sample code in README.md
faec1a8643 Merge pull request #1678 from KhronosGroup/fix-1674
9ea0e8b859 Merge pull request #1677 from KhronosGroup/fix-1673
c87cb54499 MSL: Add CLI option for sampler suffix.
bf3793dd35 MSL: Improve handling of split tessellation access chains.
a6c9514856 Merge pull request #1676 from KhronosGroup/fix-1671
0214990e7c Merge pull request #1675 from KhronosGroup/fix-1670
26a4986009 GLSL: Implement noncoherent framebuffer fetch.
99ae0d32e9 MSL: Handle array with component when we cannot rely on user() attrib.
a64ddcdd49 MSL: Handle array of IO variable with Component decoration.
418542eaef Merge pull request #1668 from KhronosGroup/fix-1665
b8115ffbe0 HLSL: Implement invariant as precise.
e47a30e807 Honor NoContraction qualifier.
0eeaffe048 Merge branch '16-bit-int-types-glsl'
6dbab0df47 Update reference output.
0408c592dd Fixed 16 bit int types
72a2ec4c1b MSL: Fix '--msl-multi-patch-workgroup' out of bounds reads when dispatching more threads than control points (#1662)
995c7981cc Merge pull request #1663 from billhollings/metal-arg-buff-padding-patch
098cdd64f6 MSL: Padding for Metal argument buffers should not double-count SampledImages.
c624d5387c Merge pull request #1660 from KhronosGroup/fix-1658
82a77e534e MSL: Use proper array for quad tess levels.
b38e3b4a47 Merge pull request #1661 from KhronosGroup/fix-1659
0e963c62b6 HLSL: Support Shuffle wave ops.
bbcef69a45 Merge pull request #1657 from KhronosGroup/fix-1607
532f65583e Rewrite how non-uniform qualifiers are handled.
d137abeef5 Merge pull request #1655 from KhronosGroup/fix-1640
8e24e0b224 Merge pull request #1654 from KhronosGroup/fix-1641
71eb1754e3 Merge pull request #1653 from KhronosGroup/fix-1638
2cbc7f0f37 Merge pull request #1652 from KhronosGroup/fix-1644
b084f639cb Merge pull request #1651 from KhronosGroup/fix-1645
c89b5a1a3f GLSL: Support shading rate builtins.
3fd148450a GLSL: Implement gl_FragFullyCoveredNV.
f93a8fb1fe GLSL: Support GL_EXT_shader_image_load_formatted.
90c70e6605 MSL: Handle variable access in OpSelect.
96ba044f01 HLSL: Fix automatic location assignment in block IO.
3cb8e7c223 Merge pull request #1643 from KhronosGroup/fix-1639
ae9ca7d73c MSL: Fix copy of arrays to/from stage IO variables.
986196030d MSL: Don't use native arrays for tess level inputs.
4a379a00f3 MSL: Don't emit native array for masked clip/cull distance.
406af8ff4d c: Add C API for builtin stage IO reflection.
b4a380a04c Support reflecting builtins.
852f2da63c Check SPIR-V 1.4 rules when reflecting resources.
682a227f4b MSL: Make builtin argument type declaration context sensitive.
c1edd35d57 MSL: Use spvUnsafeArray for builtin arrays after all.
7b9a591aa7 MSL: Hoist out to_tesc_invocation_id() in more places.
75ed73818c MSL: Handle loading Clip/CullDistance in TESE.
a159334895 MSL: Correctly analyze if builtin block is active.
cea934c03f MSL: Test that we can capture cull distance to buffer.
5826298697 MSL: Handle CullDistance better.
23da445bd4 MSL: Emit multiple threadgroup slices for multi-patch.
b442500204 MSL: Unroll initializations of CullDistance/ClipDistance control points.
c9946296dd MSL: Fix initialization of masked threadgroup variables.
ee85bb345e Fix print_help comment.
faf80b08fc MSL: Don't report fallback location allocations as being "used".
adc5fe3615 C: Add C api for stage output masking.
5e9c2d060e MSL: Cleanup fallback IO block emission.
e32c474911 MSL: Handle masking of TESC IO block members.
dc54f75eec MSL: Fixup gl_PerVertex names if we're emitting masked builtins.
40f628f49c MSL: Add test for complex control point outputs.
46c48ee6b5 MSL: Rewrite how IO blocks are emitted in multi-patch mode.
425e968720 MSL: Handle flattening of patch block outputs as well.
8e2dbe0d38 MSL: Do not declare patch variables on stack.
ff3f5bcba5 MSL: Handle masking of builtin control points.
6ecdd64a91 MSL: Emit a masked builtin IO block if necessary.
436b1250da MSL: Do not perform scalar fixups for control-point outputs.
22c9b63e78 MSL: Fix argument_decl check for builtin.
c635c35c12 MSL: Temporarily allow empty output struct.
a59e25db18 MSL: Small refactors.
74b2acab9b MSL: Always emit block variable for block types.
ae7bb41ef4 MSL: Test that we can mask location writes in TESC.
3255d6cef0 MSL: Explicitly only consider masked variables to be thread-group-like.
ba93b6518d MSL: Fix masking of vertex block outputs.
a393de31e6 MSL: Refactor out variable/block member masking.
857295a9ab MSL: Add tests for masking with --for-tess.
43b6ea2c9a MSL: Remove position mask tests. They will fail compilation.
e7b37392bf MSL: Emit correct address space for masked arguments.
65b5ff7ece MSL: Don't emit weird reference type for spvUnsafeArray types.
e7824c8b6e MSL: Handle masked outputs in extract_global_variables.
50a6bc058a MSL: Force builtin arrays for builtin array types.
88b54f5dab MSL: Add tests for vertex output masking.
394c038bfd MSL: Do not consider effective storage for any composite.
04988b89b9 MSL: Handle effective storage for masked CP outputs.
f2b5fb3f45 MSL: Emit threadgroup storage class for masked control point outputs.
ea91579a7f MSL: Do not redirect tess access chains on masked outputs.
9c1cadd440 Add --mask-stage-output-* CLI options.
f682e89188 MSL: Correctly emit array type for masked outputs.
2a2d57df13 MSL: Sketch out API to aid LTO-style optimization.
9a144bb2b9 Clean up member sorting.
0997e81118 MSL: Sort builtin IO block members by builtin type.
b4aa6dacfa MSVC: Add /bigobj for debug builds.
45818c14e4 Merge pull request #1648 from billhollings/msl-pad-arg-buff-structs
b3bfe22eaa MSL: Fixes to support padding Metal argument buffer entries based on argument index.
daba0dfba6 MSL: Fixes to support padding Metal argument buffer entries based on argument index.
9060e5a13c MSL: Fixes to support padding Metal argument buffer entries based on argument index.
9866cf4496 MSL: Fixes to support padding Metal argument buffer entries based on argument index.
6c0e11f907 Merge branch 'master' of https://github.com/billhollings/SPIRV-Cross into msl-pad-arg-buff-structs
582749ac68 Merge pull request #1650 from Dredhog/active-builtins-c-api
edde535574 c: Remove SPVC_PUBLIC_API prefix from API implementation
215f31b33f c: Add missing API to query active builtins.
17dab614dc MSL: Support padding Metal argument buffer entries based on argument index.
d2e1e7ba98 Fix Github CI in PRs.
28ae7b8f35 Merge pull request #1642 from mehmetoguzderin/msl-long-ulong-member
e2f7a753d2 Move condition to default block
0a0c9db9be MSL: Support long ulong types in buffers in 2.3+.
84d1f8aa2a Use Github actions CI tag.
2e000a0be4 Add GitHub Actions script.
60aa24566e Merge pull request #1633 from KhronosGroup/fix-1626
ee31e84e30 GLSL: Handle complex load/store scenarios to gl_SampleMask.
fb1f295aaf Merge pull request #1635 from KhronosGroup/fix-1627
5d846acee5 Merge pull request #1634 from KhronosGroup/fix-1625
0ac70fa7ca Merge pull request #1632 from KhronosGroup/fix-1629
4ca06c7278 Handle edge cases in OpCopyMemory.
aea6d29aa8 MSL: Add test for logical subgroup arith ops.
d6c2c1b39a HLSL: Support logical subgroup ops.
5570043af3 GLSL: Add support for Logical subgroup ops.
bc4cb1b3c5 Throw if SPIR-V module has no entry points.
d57ab68a21 Merge pull request #1630 from KhronosGroup/fix-1628
97796e0609 MSL: Deal with pointer-to-pointer qualifier ordering.
621884d709 Merge pull request #1622 from KhronosGroup/fix-1619
da238e5f12 Merge pull request #1623 from phuang/patch-2
c66a571057 Add two missing source files
b1e36a1f78 Merge pull request #1621 from KhronosGroup/fix-1618
85704f70bc MSL: Handle load and store to TessLevel array in TESC.
ce552f4f91 MSL: Gracefully assign automatic input locations to builtin attributes.
aa271c1460 MSL: Refactor out location consumption count computation.
6f1f6775f3 Add comment where aux image atomic buffers are reflected from.
92d379bab4 Merge pull request #1620 from phuang/patch-1
bc3416a18f Fix build errors on Windows
bae17e8204 Merge pull request #1617 from KhronosGroup/fix-1608
5789e3eed9 Merge pull request #1616 from KhronosGroup/fix-1609
daddbd4078 MSL: Fixup type when using tessellation levels in TESC functions.
0ad12a0036 MSL: Always return [[position]] when required.
05a1a07f70 Merge pull request #1615 from KhronosGroup/fix-1612
09dc76f68a c: Add missing IOS_SUPPORT_BASE_VERTEX_INSTANCE option.
8f5ab50fb8 Merge pull request #1614 from KhronosGroup/fix-1610
21a931613e HLSL: Add vector to illegal names list.
4741bbaa64 Merge pull request #1606 from billhollings/position-invariance
8e03cb60a5 Expose position invariance.
84a41cd488 Merge pull request #1603 from KhronosGroup/small-improvements
ea02a0c03a Check entry point variables in is_hidden_variables.
4bedad3860 Handle nonuniformEXT qualifier for acceleration structures.
7ab3f3f74e Deal better with CompositeExtract from constant composite.
66fb0bd9df GLSL: Handle tracing against incoming payload/callable.
9acb9ec31f Merge pull request #1594 from KhronosGroup/fix-1591
a5eaf2f44a Merge pull request #1595 from KhronosGroup/copyright-update
4704482bbc meta: Update copyright headers to 2021.
4c866e4662 Fix pathological complexity explosion for certain shaders.
820179bf46 Merge pull request #1590 from KhronosGroup/fix-1584
2097c30985 GLSL: Support both SPV_KHR_ray_tracing and NV_ray_tracing.
702c903f98 Merge pull request #1589 from KhronosGroup/roll-deps
ce18d1b8a5 CLI: Fix silly regression with handling of -V.
5d82d32e0f Roll dependencies.
0e5078dc0c Merge pull request #1588 from KhronosGroup/fix-1582
893a011299 MSL: Fix various bugs with framebuffer fetch on macOS and argument buffers.
3136e34215 MSL: Always use input_attachment_index for framebuffer fetch binding.
134a520034 Merge pull request #1587 from KhronosGroup/refactor-active-variable-consideration
03ee71e86c Add test for pure initializer gl_FragDepth.
3776d8978c GLSL: Force block declaration if clip/cull is used in tesc.
014b3bc5ea MSL: Make sure initialized output builtins are considered active.
a4a9b53b5b MSL: Always enable Outputs in vertex stages.
fa76d01203 MSL: Only consider builtin variables if they are part of IO interface.
c8837d7d80 MSL: Very slight refactor.
234c65c0f3 Merge pull request #1585 from KhronosGroup/fix-1569
72e9f619a9 Merge pull request #1583 from KhronosGroup/fix-1567
42ec132357 Merge pull request #1581 from KhronosGroup/fix-1554
c033a93951 GLSL: Fix -Wshadow error.
1a28a04333 GLSL: Update SPIR-V headers for modified ray tracing opcodes.
02b7f9cbe9 CLI: Add stdin support.
efed4c9738 MSL: Fix initializer for tess level outputs.
ab9200ffdf MSL: Don't flatten builtin arrays unless they're part of IO interface.
df4f8ef8fe MSL: Emit correct initializer for tessellation control points.
ad3e1584f9 MSL: Handle initializers for tess levels.
39fee93906 GLSL: Refactor out Output variable initialization.
6a3ea0385e GLSL: Add test for initializing tess level output.
175381fe08 GLSL: Handle some extreme edge cases in Output variable initialization.
7b7a21c405 Merge pull request #1578 from KhronosGroup/fix-1568
1a38fec382 Minor redundant nit.
a1c784f002 More robust handling of initialized output builtin variables.
9a304fe931 Handle output IO block initializers more robustly.
49ab12919c Merge pull request #1577 from KhronosGroup/fix-1574
3514c9ff33 Merge pull request #1576 from KhronosGroup/fix-1571
3a85d1c80c CMake: Disable compiler extensions explicitly.
ddb3c65648 Handle reserved identifiers for functions.
c4ff129fe3 MSL: Handle reserved identifiers for entry point.
e50f7d1ce8 Merge pull request #1566 from KhronosGroup/subgroup-table-fix
c8765a75f2 GLSL: Fix KHR subgroup extension table for subgroups.
762c3082ae Merge pull request #1564 from KhronosGroup/fix-1558
1eb42eb18c Merge pull request #1563 from KhronosGroup/fix-1559
a11c4780d0 GLSL: Emit nonuniformEXT in correct place for late-combined samplers.
dc940846d7 GLSL/HLSL: Disallow VariablePointers capability outright.
6d10da0224 Merge pull request #1553 from comex/no-subgroups-in-vertex-shaders
f41b59b36e Merge pull request #1557 from KhronosGroup/mit-dual-license-api
cf1e9e0643 Add MIT dual license for the SPIRV-Cross API.
0b79db773f Merge branch 'master' of git://github.com/js6i/SPIRV-Cross
c09a65c12d MSL: Added fmin3 and fmax3 library functions to the illegal name list.
5a85fa9400 msl: Don't try to use [[thread_index_in_simdgroup]] in vertex shaders.
be527632a6 Merge branch 'unused' of git://github.com/comex/SPIRV-Cross
c80cbde7aa spirv_msl: Don't add fixup hooks for builtin variables if they're unused.
3d16060c32 Merge pull request #1551 from cdavis5e/msl-subgroup-inactive-ballot-mask
1e67b21ee9 MSL: Don't mask off inactive bits in ballot masks.
1f178be3c9 Merge branch 'msl-sample-rate-position' of git://github.com/cdavis5e/SPIRV-Cross
fd738e3387 MSL: Adjust FragCoord for sample-rate shading.
782916a797 Merge pull request #1549 from KhronosGroup/various-fixes
e07f0a9df5 GLSL: Fix buffer_reference with aliased names.
c5826b4b69 GLSL: Emit storage qualifiers for buffer_reference.
650b5e1b12 HLSL: Fix validation with FXC for test.
6a614cc7f7 Normalize all internal workaround methods to use spv prefix.
35d3b9c3e7 Merge branch 'msl-subgroup-ops-2' of git://github.com/cdavis5e/SPIRV-Cross
dabdf4eff6 Merge pull request #1547 from scribam/cmake-minimum-required
1eb4852856 CMake: Set minimum required version to 3.0
68908355a9 MSL: Expand subgroup support.
58291963c6 Merge branch 'glsl-vertex-attrib-64bit' of git://github.com/rdb/SPIRV-Cross
df5e3730ca GLSL: Require GL_ARB_vertex_attrib_64bit for double input in pre-4.10
b3c59263a0 Merge pull request #1541 from cdavis5e/msl-ios-features
88e25e60ec MSL: Expose some more features on iOS.
1ee2d13873 MSL: Add missing reference file.
ef0256c23e Fix switch fallthrough
0d6fad4ab9 Merge branch 'extract_subgroup_ops' of git://github.com/js6i/SPIRV-Cross
9c2c0a23b9 Merge pull request #1533 from rdb/texture-fetch-size-fallbacks
10fa5f62aa GLSL: Legacy / extension fallbacks for textureSize and texelFetch
f0239bce05 MSL: extract global variables from subgroup ballot operations
6fc2a0581a Run format_all.sh.
71fcf0d9e6 Update texture gather test result.
008f3baad7 Merge branch 'arb-texture-gather' of git://github.com/rdb/SPIRV-Cross
46bf1e99d6 Merge pull request #1525 from cdavis5e/msl-interpolation-functions
509908d8db GLSL: Add error checking and extension fallback for textureGather
683c3f5c3f Merge pull request #1530 from rdb/legacy-glsl-round
ea334c14bc Merge pull request #1527 from rdb/legacy-transpose
2417010046 Merge pull request #1528 from rdb/fix-legacy-vertex-shader-lod
1648747fa7 Merge pull request #1529 from KhronosGroup/fix-msl-gather-regression
b3bd674aa7 GLSL: Remove unused `lod` argument from legacy_tex_op()
bf71994dae GLSL: implement transpose() in GLSL 1.10 / ES 1.00
9e6e5d2738 GLSL: Fix round/roundEven for legacy GLSL.
e8c500ceef GLSL: Fix support for textureLod in legacy vertex shaders
db13762297 MSL: Fix regression in image gather handling.
aca9b6879a MSL: Support pull-model interpolation on MSL 2.3+.
a20c768698 Merge pull request #1524 from rdb/hlsl-round-even
854f566869 HLSL: Support roundEven() in HLSL SM 4.0 and above
2e1bdeb212 Merge pull request #1520 from rdb/dx9-dref-samplers
135933d59e HLSL: Add regression test for SM3.0 texture samplers
18893ba3b9 HLSL: Support depth comparison texture sampling in SM 2/3.
fc644b50e6 Merge pull request #1523 from KhronosGroup/fix-1512
512e851185 Merge pull request #1522 from KhronosGroup/fix-1510
b3344174f7 HLSL: Add option to flatten matrix vertex input semantics.
1f018b0fb8 Parser: Don't assume OpTypePointer will always take a SPIRType.
244839d350 Merge pull request #1516 from billhollings/VK_EXT_descriptor_indexing
4bdd49df3f Syntax and format updates from code review.
c5a3f37a1c Merge pull request #1519 from cdavis5e/msl-mac-comparison-bias-grad
dcd66c283c Merge pull request #1521 from devshgraphicsprogramming/master
6402586015 Updated ref file for subgroups_basicvoteballot.vk.comp
9a1af25f02 Merge pull request #2 from KhronosGroup/master
6c5f394b09 Fix some bad assumptions about emulating `subgroupBarrier`
7f67abe0fe Minor format and typo updates from code review.
547c29f7bb MSL: Allow Bias and Grad arguments with comparison on Mac in MSL 2.3.
8884b34940 Merge pull request #1517 from atyuwen/master
303f813166 Merge pull request #1518 from KhronosGroup/fix-nonuniform-bracket-handling
439b666829 GLSL: Fix nonuniformEXT injection.
871a023877 fixed compile error with -std=c++20
541a801fed Merge pull request #1514 from cdavis5e/msl-mac-framebuffer-fetch
c8a43876c7 added metal keyworld: "level" (#1501)
b7b0e804e5 MSL: Support run-time sized image and sampler arrays (GL_EXT_nonuniform_qualifier/SPV_EXT_descriptor_indexing).
c20d5945a2 MSL: Allow framebuffer fetch on Mac in MSL 2.3.
78c6d2d628 Merge pull request #1509 from cdavis5e/mac-post-depth-coverage
08e49bfd67 Merge pull request #1508 from KhronosGroup/fix-1507
346b0b6c21 Merge pull request #1493 from KhronosGroup/ubo-row-major-load-workaround
d48d2a95c7 MSL: Allow post-depth coverage on Mac in MSL 2.3.
542d460364 Handle case where block is loop header, continue AND break block.
e47561a28b GLSL: Support a workaround for loading row-major matrices.
5ae9153a78 Merge pull request #1505 from cdavis5e/msl-vertex-writes
1b6b9705e6 MSL: For 2.1+, don't disable rasterization for vertex writes.
1a95017d11 Merge pull request #1503 from KhronosGroup/travis-python-update
b3a74f3a22 Merge pull request #1504 from KhronosGroup/fix-1502
f65f259ab7 MSL: Do not use component::x gather for depth2d textures.
1d68cbfb1b Update TravisCI python reference.
dd35821f2f Merge pull request #1499 from cdavis5e/subgroup-fixes
1264e2705e MSL: Cast broadcast booleans to ushort.
065b5bda3c MSL: Mask ballots passed to Ballot bit ops.
781367d083 MSL: Support vectors with OpGroupNonUniformAllEqual.
6ccb902462 MSL: Correct definitions of subgroup ballot mask variables.
a57b4b1b2e Merge pull request #1498 from cdavis5e/msl-swizzle-arrayed-nonconstant
064ed448b9 MSL: Don't remove periods from swizzle buffer index exprs.
7b80307a7d Merge pull request #1495 from cdavis5e/1d-2d-offset-grad
5845e009ea MSL: Handle Offset and Grad operands for 1D-as-2D textures.
0db1569e97 Merge pull request #1492 from KhronosGroup/non-native-matrix-fix
9c220a8247 Merge pull request #1490 from KhronosGroup/fix-1488
23a0cfc842 Merge pull request #1494 from cdavis5e/msl-tesc-tess-level-cast
3e6010d8c5 MSL: Don't use a bitcast for tessellation levels in tesc shaders.
120af42616 GLSL: Use need_transpose when checking for non-native matrix.
bd1ee4344e MSL: Support querying and modifying generated combined sampler suffix.
7332b44c3c Merge pull request #1489 from cdavis5e/msl-fix-atomic-image-coord
21d38f74ce MSL: Fix calculation of atomic image buffer address.
e827a06984 Merge pull request #1487 from cdavis5e/msl-atomic-image-interlock
7a5d0d6b29 MSL: Add missing interlock handling to atomic image buffers.
fab6ad234e Merge pull request #1486 from cdavis5e/atomic-image-argument-buffer
cc7aabce72 Merge pull request #1485 from cdavis5e/msl23-demote-to-helper
9cafea6cf8 MSL: Support atomic access to images from argument buffers.
2219c4a392 MSL: Support SPV_EXT_demote_to_helper_invocation for MSL 2.3.
401af49326 Merge pull request #1482 from KhronosGroup/gl-subgroup-merge
5619329665 Style nits for GL subgroup implementation.
a6f6547cf1 Add missing VK variant of the test file.
28994a3186 Update GL subgroup test file.
819c599ecd Merge branch 'issues1350-2' of git://github.com/devshgraphicsprogramming/SPIRV-Cross into master
db52e277b9 Resolved issues 1350, 1351, 1352
5cc2e4f634 Merge pull request #1475 from KhronosGroup/fix-1474
e0c9aad934 GLSL: Add support for transform_feedback3 geometry streams.
7a99d1cb72 GLSL: Use literal array size for cull/clip array sizes.
e6f5ce6b89 Merge pull request #1471 from KhronosGroup/fix-1467
6254be910e Merge pull request #1470 from KhronosGroup/fix-1469
34a6a45fba Work around MSVC warning.
5ea576ece2 Allow flip_vert_y in all relevant stages.
ea3cd74426 Merge pull request #1468 from dj2/roll-09-22
9880b05572 Roll dependencies.
8891bd3512 Merge pull request #1466 from KhronosGroup/fix-1465
2144274a91 Clean up conditional branch codegen.
54cc0b01f6 Deal with case where a selection construct conditionally merges/breaks.
16d9fea77c Merge pull request #1463 from KhronosGroup/fix-1462
66afe8c499 Implement a simple evaluator of specialization constants.
bdbef7b1f3 Merge pull request #1461 from Kangz/fix-warnings
bcd71536e2 Fix -Wduplicate-enum and -Wrange-for-analysis.
ba2d0e17d3 Merge pull request #1460 from KhronosGroup/fix-1458
446596643a Roll glslang/SPIRV-Tools deps.
18d03b3ea6 Handle OpUndef %void.
bad9dab8df Merge pull request #1457 from cdavis5e/msl-layered-subpass-data
4cf840ee7b MSL: Support layered input attachments.
c7507e39d4 Merge pull request #1456 from KhronosGroup/fix-1455
3360daa6f3 MSL: Fix OpCompositeInsert and OpVectorInsertDynamic.
9e3dbdc8d6 Merge pull request #1454 from cdavis5e/msl-multiview-non-layered
cab7335e64 MSL: Don't set the layer for multiview if the device doesn't support it.
4752a44f9e Merge pull request #1453 from cdavis5e/msl-multiview-base-instance
53080ecca8 MSL: Fix multiview view index calculation with a non-zero base instance.
685f86471e Merge pull request #1452 from KhronosGroup/minor-nits
95993f78af Run format_all.sh.
ee1b4e7042 Work around annoying warning on GCC 10.2.
eec76b04c7 Merge pull request #1450 from KhronosGroup/fix-1440
a07441568e Overhaul how we deal with reserved identifiers.
f0fe4442e3 Merge pull request #1448 from KhronosGroup/fix-1437
4f0f0e5a07 Merge pull request #1449 from KhronosGroup/fix-1443
fdbc80d131 HLSL: Fix FragCoord.w.
fad36a6b28 HLSL: Deal with partially filled 16-byte word in cbuffers.
dd1f53ff15 HLSL: Fix bug in is_packing_standard for cbuffer.
4c7944bb42 Merge pull request #1446 from kakashidinho/master
ab8eb70af1 Fix #1445: MSL: Enclose args when convert distance(a,b) to abs(a-b)
82d1c43e40 Merge pull request #1441 from cdavis5e/msl-tesc-composite-out
3347b1076d MSL: Fix handling of matrices and structs in the output control point array.
c333445ada Merge pull request #1436 from KhronosGroup/fix-1408
8a1843ab20 Add some test cases for complex type aliasing scenario.
eb580d6656 Ensure that we use primary alias type when emitting flattened members.
aac6885950 GLSL: Be more aggressive about using type_alias.
038b0bf238 Only rewrite type aliases for the base type.
7778792aec Merge pull request #1434 from KhronosGroup/glsl-force-flattened-io
57c93d44ac GLSL: Add option to force flattening IO blocks.
f5e9f4a172 Merge pull request #1432 from ponitka/hlsl-sample-mask
ba58f78395 Adding BuiltInSampleMask in HLSL
0376576d2d Merge pull request #1429 from ponitka/master
18f23c47d9 Enabling setting a fixed sampleMask in Metal fragment shaders.
934825a6a2 Merge pull request #1294 from cdavis5e/msl-multi-patch-workgroup
688c5fcbda MSL: Add support for processing more than one patch per workgroup.
3dcc23a5b3 Merge pull request #1431 from dj2/roll-07-22
ac08a89cf0 Merge pull request #1430 from cdavis5e/msl-refactoring
c4f3d4ae29 Roll GLSLang, SPIRV-Headers and SPIRV-Tools.
884bc6df65 MSL: Factor creating a uint type into its own method.
5e13f7fdf2 MSL: Factor a really gnarly condition into its own method.
6575e451f5 Merge pull request #1423 from KhronosGroup/msvc-2013-fix
36c999ae3f MSVC 2013: Fix silently broken builds.
39ce5b46de Merge pull request #1421 from troughton/patch-3
b74a84e4cb MSL: Ensure OpStore source operands are marked for inclusion in function arguments
559b21c6c9 Merge pull request #1420 from dj2/roll-07-06
63fbdaca93 Roll deps.
3b366db7f1 Merge pull request #1416 from KhronosGroup/fix-1415
711300baed MSL: Do not emit swizzled writes in packing fixups.
fa5b206d97 MSL: Workaround broken vector -> scalar access chain in MSL.
fab75792a9 Merge pull request #1419 from KhronosGroup/msl-input-attachment-index-fallback
e1600d4df8 MSL: Use input attachment index directly for resource index fallback.
c465cd5004 Merge pull request #1417 from KhronosGroup/fix-351
2ac8f51b06 GLSL: Support I/O flattening with arrays as final type.
2d43103a55 GLSL: Support multi-level struct flattening for I/O.
d573a95a9c Run format_all.sh.
8f716947c2 test: Use --hlsl-dx9-compatible when attempting to compile SM 3.0 shaders.
2894b40868 Merge pull request #1412 from KhronosGroup/fix-1411
70f17142de GLSL: Fix nested legacy switch workarounds.
b1082c10af Merge pull request #1410 from KhronosGroup/fix-1406
42096ca4a1 Merge pull request #1409 from KhronosGroup/fix-1405
4d79d634f5 GLSL: Implement switch on ESSL 1.0.
bae76d7915 GLSL: Use for-loop fallback instead of do/while for legacy ESSL.
3afbfdb090 Implement context-sensitive expression read tracking.
05188aca69 Fix bug with control dependent expression tracking.
2e7a562583 Merge pull request #1404 from KhronosGroup/fix-1402
eb0f0323d3 HLSL: Workaround FXC bugs with degenerate switch blocks.
f9ae06512e Merge pull request #1401 from dj2/roll-deps-22
9eb615c63b Merge pull request #1400 from KhronosGroup/fix-1399
0abc017501 Roll deps and update tests.
f9da366ae6 MSL: Remove the old VertexAttr API.
7edaea87cf Merge pull request #1398 from Kangz/fix-deprecation
6add77aa97 Merge pull request #1397 from KhronosGroup/fix-1396
8aee532f56 Fix placement of SPIRV_CROSS_DEPRECATED.
f141521ebe Fix duplicated initialization for loop variables with initializers.
d7976b7b24 Merge pull request #1395 from KhronosGroup/fix-1394
ace4d25222 MSL: Add test case for constructing struct with non-value-type array.
7314f51a32 MSL: Deal with loading non-value-type arrays.
02db4c1f16 MSL: Add tests for array copies in and out of buffers.
03d4bcea68 MSL: Improve handling of array types in buffer objects.
11832b6e14 Clean up some deprecation warnings when building with Makefile.
5e509b159a Remove unused member in MSLShaderInput.
a64484f62b Merge pull request #1392 from cdavis5e/msl-frag-input-vecsize
5281d9997e MSL: Fix up input variables' vector lengths in all stages.
7073ed2edb Merge pull request #1393 from KhronosGroup/fix-1391
d13dc0ce47 HLSL: Fix texProj in legacy HLSL.
9e3df69d4e Merge pull request #1390 from rdb/master
031cbaa5a2 GLSL: Require GL_ARB_draw_instanced for gl_InstanceID in GLSL < 1.40
92fcd7d2b0 Merge pull request #1389 from KhronosGroup/sparse-clamp
f383cc98f2 GLSL: Handle the rest of GL_ARB_sparse_texture_clamp.
bbefea2b02 Merge pull request #1388 from KhronosGroup/uint-sparse-residency-query
857e1c445c GLSL: Support uint code for sparse residency query.
553a7f959b Merge pull request #1385 from KhronosGroup/fix-1237
cbe0cca73b Refactor texture fetch function generation.
b73c047faf Merge pull request #1387 from Lichtso/master
1f5875e23e Fix missing switch cases in Y'CbCr conversion
3ce81c0025 Merge pull request #1384 from KhronosGroup/fix-1380
757c10bbe4 Merge pull request #1383 from KhronosGroup/fix-1381
275974e062 GLSL: Implement sparse feedback.
6600793884 MSL: Remove obsolete MSLVertexAttr members.
2d5200650a HLSL: Add native support for 16-bit types.
d385bf096f Merge pull request #1378 from bbernhar/issue_410
32bead81c8 Prefer set/binding API
999a7b5256 Merge pull request #1379 from KhronosGroup/fix-1377
165392a2b0 Document all CLI options.
d31bc0247e Do not mask writes to remapped variables in all cases.
17bccc9f7e HLSL: Add option to treat certain SSBO bindings as UAV, even with readonly.
61cddd6307 Merge pull request #1376 from KhronosGroup/fix-1374
58dad82fcb Handle physical pointers in reflection API.
f992548434 Merge pull request #1372 from KhronosGroup/gl-draw-parameters
ef247e75ec GLSL: Improve support for GL_ARB_shader_draw_parameters in desktop GLSL.
ec558bc98e Merge pull request #1371 from dj2/roll-deps-21
3d01d1bf50 Roll SPIRV-Tools, SPIRV-Headers and GLSLang.
287e93ff80 Merge pull request #1370 from dj2/roll_deps_20
29ad40e93e Merge pull request #1369 from KhronosGroup/more-rt-tests
8bf916f575 Roll dependencies
b4dd0b6fb1 GLSL: Add more test shaders for hit attribute types.
66ec3e3e54 GLSL: Support ray payloads and hit attributes declared as Block.
271ad33380 GLSL: Add some more focused RT test shaders.
3c43f055df Merge pull request #1366 from KhronosGroup/fix-1365
f3a362b1aa HLSL: Implement image queries for UAV images.
d638d2df9c Merge pull request #1363 from KhronosGroup/rt-gl-instance-id
86380acf4d Support gl_InstanceID in RT shaders.
b7823ec389 Merge pull request #1361 from KhronosGroup/msl-single-element-array-refinement
107ab7c2b7 MSL: Avoid packed arrays in more cases.
de3698f0e0 Add missing reference files from PR merge.
b8ba89a1ac Merge branch 'master' of git://github.com/kakashidinho/SPIRV-Cross
9ddfe6db6d Fix #1359: MSL: If the packed type is scalar, don't emit "pack_" prefix.
92f7d36c72 Merge pull request #1356 from KhronosGroup/fix-1354
0ebb88cc39 MSL: Redirect member indices when buffer has been sorted by Offset.
137dbeb7f1 Merge pull request #1355 from Kangz/fix-microsoft-enum-value
a3a590a82e Fix -Wmicrosoft-enum-value
7e0295abf8 Merge pull request #1353 from zoddicus/updateSPIRVHeaders
76658247ac Update SPIR-V Headers to 1.5 rev 3
471990d4dc Merge pull request #1349 from KhronosGroup/fix-1348
35a9b793d6 Work around odd deadlock in test_shaders.py in --parallel mode.
d7d630a0b7 Merge pull request #1347 from KhronosGroup/fix-1343
4330b046be Merge pull request #1346 from KhronosGroup/fix-1340
9b7140e2ba Implement OpAtomicLoad/OpAtomicStore.
cbaaa02af9 Merge pull request #1345 from apayen/master
6ef47d6657 MSL: Fix case where subpassInput is passed to leaf functions.
4edfe96739 Fixed recursion in combined_decoration_for_member Members in nested structs were not properly iterated on, and as a result, flags like row major for matrices could be not propagated properly.
7ba0f8f087 Merge pull request #1342 from dj2/roll
171c646474 Roll GLSLang, SPIRV-Tools and SPIRV-Headers.
1ad1662a2b Merge pull request #1339 from KhronosGroup/fix-1338
5e5d1c27ce GLSL: Support f16x2 <-> f32 bitcast.
c58839bfd4 Merge pull request #1336 from KhronosGroup/fix-1333
bf289c37a2 Merge pull request #1337 from KhronosGroup/nonuniform-propagation-fix
bdb343ea06 Be a bit more careful what nonuniform state is propagated.
6b0e558169 Handle RayQueryKHR type.
78b4d9379b Update SPIR-V headers.
b2e934b53f Merge pull request #1328 from devshgraphicsprogramming/patch-1
5cb0f0a640 Merge pull request #1335 from KhronosGroup/fix-1325
127224d816 Fix issue #1327
58548e25a2 Merge pull request #1334 from KhronosGroup/fix-1332
7b9cba7424 HLSL: Add parens in unpackUint2x32 for clarity.
e4e4791c4e HLSL: Only allow 64-bit integers in SM 6.0.
a396744f89 Ensure unpack/pack2x32 tests are compatible with test suite.
55dfbead2f GLSL/HLSL: Support packUint2x32 and unpackUint2x32
f8592ecdfc MSL: Deal correctly with initializers on Private variables.
3fb86e4385 Merge pull request #1331 from KhronosGroup/fix-1321
17ad62eea4 MSL: Support edge case with DX layout in scalar block layout.
f38cbeb814 Merge pull request #1330 from KhronosGroup/fix-1320
ebf463674d MSL: Allow removing clip distance user varyings.
aa5fbc004b Merge pull request #1329 from godlikepanos/master
b3109b8ad0 Reflection: Add specialization constant name
90198199df Merge pull request #1324 from cdavis5e/msl-disabled-builtin-names
96f7008aa8 MSL: Force disabled fragment builtins to have the right name.
fbc560782c Merge pull request #1323 from cdavis5e/msl-disable-frag-only
495e48de44 MSL: Only disable output variables in fragment shaders.
54658d6255 Merge pull request #1319 from cdavis5e/msl-frag-outputs
b29f83c383 MSL: Add options to control emission of fragment outputs.
fcbc590937 Merge pull request #1316 from Malacath-92/master
4560ee24fd Improve compatibility with clang-cl
a1d9b474b5 Merge pull request #1314 from KhronosGroup/fix-1313
c7b75a8fe6 MSL: Do not use base expression with PhysicalTypeID OpCompositeExtract.
6637610b16 Merge pull request #1309 from KhronosGroup/fix-1305
941cceedb4 Expose a query if samplers or images are comparison resources.
b691b7d1e3 Do not add NonWritable/NonReadable decorations for regular images.
14f24d71ab Merge pull request #1308 from KhronosGroup/fix-1306
cfcd84319b Merge pull request #1310 from KhronosGroup/msl-force-declare-implicit-builtins
d9d3359ffb MSL: Deal with cases where builtin is implicitly needed, declared, but unused.
01cee74b02 Merge pull request #1307 from troughton/patch-1
28bf9057df HLSL: Add support for treating NonWritable UAV texture as SRV instead.
4cf736d753 MSL: mark BuiltInFragCoord as implicitly used for subpass reads
e58e8d5dbe Merge pull request #1303 from KhronosGroup/fix-1302
3cb6aeb480 MSL: Fix access chain for deep struct hierarchy on array of buffers.
84ec99c531 Merge pull request #1301 from dj2/roll_deps
32307df73a Roll GLSLang, SPIRV-Tools and SPIRV-Headers
9b3c5e12be Merge pull request #1299 from KhronosGroup/fix-1298
b8905bbd95 Add support for forcefully zero-initialized variables.
871c85d7f0 Merge pull request #1297 from KhronosGroup/fix-1295
04e877df12 GLSL: Implement GL_EXT_shader_framebuffer_fetch.
c2655ab291 Run format_all.sh.
c3d216c011 Merge pull request #1296 from KhronosGroup/fix-1292
05004a57ea GLSL/HLSL: Fix nonuniform qualifier for SSBO atomics.
a3d3c80dd7 GLSL/HLSL: Implement nonuniform qualifier for image atomics.
65aa0c35d6 include/spirv_cross: Fix typo.
7d42fd7f7b Merge pull request #1290 from KhronosGroup/fix-1289
185551bfaf HLSL: Do not emit globallycoherent for SRV ByteAddressBuffer.
d19f30a90e Merge pull request #1287 from KhronosGroup/read-write-decoration-tweaks
95cd20f1c7 Add test for disable-storage-image-qualifier-deduction.
c27e1efbf1 HLSL: Add option to always treat SSBO as UAV, even with readonly.
01968c4486 Add option to disable storage image qualifier deduction.
3ebc83da46 Remove old hack which forces NonWritable/NonReadable.
9deb6ffbba Merge pull request #1285 from KhronosGroup/vulkan-semantics-shorthand
3f2de0d5d3 Add -V alias for --vulkan-semantics.
c5f7b55756 Merge pull request #1284 from KhronosGroup/fix-1282
16796e92be MSL: Add C API for force native arrays.
d91e134500 MSL: Add native array test for composite array initialization.
30343f3e95 MSL: Reintroduce workaround for constant arrays being passed by value.
20b28f72fa MSL: Reinstate workaround for returning arrays.
c9d4f9cd74 MSL: Add a workaround path to force native arrays for everything.
f19fdb94d7 Merge pull request #1283 from dj2/roll
7ec16b64c8 Roll GLSLang, SPIRV-Tools and SPIRV-Headers
dffd33dd9d Merge pull request #1280 from KhronosGroup/fix-1278
92a4294c57 Reject SPIR-V modules with garbage ID bound.
c53b34765d Merge pull request #1277 from KhronosGroup/fix-1276
e81c1b1d98 HLSL: Declare undef variables as static.
7ac5c38838 Merge pull request #1275 from KhronosGroup/fix-1274
cec0502ba5 Remove old memory_scope flag from iOS barriers.
6b2add8e2c Merge pull request #1272 from KhronosGroup/fix-1271
6f5cb00148 Use GNUInstallDirs for include path as well.
cb0aca91ef Merge pull request #1273 from orbea/cmake
8b90526911 cmake: Don't hardcode the pkg-config file.
74544caa16 cmake: Use GNUInstallDirs.
d67c3393da CMake: Avoid warning when parent project uses VERSION in project().
68bf0f824c Merge pull request #1270 from KhronosGroup/fix-1266
dfffbb1cf3 Compile fix on older compilers.
655312cb47 GLSL: Support GL_ARB_enchanced_layouts for XFB.
306cb31bad Merge pull request #1239 from cdavis5e/msl-inline-uniform-blocks
ae6c05f6f4 MSL: Move inline uniform blocks to the end of the argument buffer.
fedbc35315 MSL: Support inline uniform blocks in argument buffers.
f9376058ce Merge pull request #1269 from KhronosGroup/fix-1267
8bbb5fb763 Make SmallVector noexcept.
883de24f79 Merge pull request #1268 from barath121/patch-1
eac76d9473 Typo at line 324
f9818f0804 Update license headers to 2020.
7a411258af Run format_all.sh.
af787a8a79 Merge pull request #1264 from KhronosGroup/msl-argument-buffer-persist
4054d650cf Merge pull request #1263 from KhronosGroup/fix-1232
c3bd136df1 MSL: Add support for force-activating IAB resources.
f79c1e2fed Deal with illegal names in types as well.
79700d5412 Merge pull request #1262 from KhronosGroup/json-reflection-improvements
57b70225ef Merge pull request #1261 from KhronosGroup/fix-379
762c87a7bb Reflection: Add array stride/matrix stride reflection.
18e24c3ca2 Reflection: Emit reflection information for array size literalness.
55fe6050fe GLSL: Implement geometry shader passthrough extension.
172e39f039 Merge pull request #1257 from KhronosGroup/fix-1236
74107a04d1 Merge pull request #1256 from KhronosGroup/fix-1252
cc153f8d7f HLSL: Add a resource remapping API similar to MSL.
2bbb012e9c MSL: Deal with sign on wave min/max.
88ddeec49a HLSL: Deal with casting for WaveActiveMin/Max.
5253da9e63 GLSL: Deal with sign in subgroup Min/Max operations.
34ba8ea4f2 Merge pull request #1255 from KhronosGroup/fix-1254
c256525c7b Run format_all.sh.
1cbd71b354 HLSL: Fix bug when reading and writing structs from SSBO.
151ff1e870 HLSL: Implement stores for complex composites in ByteAddressBuffers.
ca9398c122 HLSL: Su…
LibretroAdmin pushed a commit that referenced this issue Jan 15, 2023
* Squashed 'deps/SPIRV-Cross/' changes from 2820ab0b51..49e4117c5f

49e4117c5f Updates for main branch rename.
88c6b49959 Merge pull request #2085 from KhronosGroup/fix-2075
a085227395 Merge pull request #2084 from KhronosGroup/fix-2069
1047c13d40 GLSL: Handle textureGatherOffsets properly.
f84527346d GLSL: Declare gl_in/gl_out as array more robustly.
38cd214007 Merge pull request #2083 from KhronosGroup/pr-2080
d46c10ebd3 Refactor PHI checks into block_is_noop instead.
bcbe33ad11 Also consider NonSemantic ExtInst in block_is_noop.
9d8ef6b36c Update test for updated block_is_noop check.
a61a541e1c Merge branch 'accept_noop' of https://github.com/loic-sharma/SPIRV-Cross into pr-2080
457fd3db70 Add tests for loops compiled with debug semantics.
07a629f149 Roll dependencies.
d69a2cafe5 Accept no ops
cded61dde3 Merge pull request #2076 from billhollings/ios-tier2-writable-images
284ccf5d2d Fixes from code review of adding writable images to iOS Tier2 argument buffers.
0bb28ef88a Merge pull request #2078 from KhronosGroup/fix-2072
549cde7fae Fix GCC5 build.
cc2b3b61a6 Merge pull request #2077 from EpicGames/fixes_glsl
6371580f51 Fixed typo in CompilerGLSL::should_dereference()
643b7be196 MSL: Add support for writable images in iOS Tier2 argument buffers.
a89dea3c49 Merge pull request #2071 from KhronosGroup/fix-2068
baf38f0593 Merge pull request #2070 from KhronosGroup/fix-2066
68a012a4f2 CFG: Handle implied access to opaque loaded values.
03b1f66ef1 GLSL: Fix row-major workaround wrapper for ES.
3c997e12eb Add C API option for enable row major workaround.
c77b09b57c Merge pull request #2063 from KhronosGroup/fix-2060
451ed10e91 Merge pull request #2062 from cdavis5e/msl-spirv-assembly-fixes
df76a14056 MSL: Refactor member reference in terms of one boolean.
e75c496ec6 Fix MSL Access Chain
540a1e82c6 Merge pull request #2056 from cdavis5e/msl-discarded-frag-checks
061cdd2052 MSL: Don't dereference forwarded copies of `OpVariable` pointers.
5547b25afe Interleave undef values with constants and types.
06ef3de002 GLSL, MSL: Handle `OpUndef` as part of a constant composite.
aa5a8c482e MSL: Prevent stores to storage resources in discarded fragments.
51d2dfe02a MSL: Add missing casts to `Op?MulExtended`.
c7ce92a95b MSL: Manually update `BuiltInHelperInvocation` when a fragment is discarded.
edd66a2fc9 Merge pull request #2055 from KhronosGroup/fix-2053
e8a22a7cf6 Handle ShaderDebugInfo non-semantic extension.
abc31207bf Merge pull request #2052 from KhronosGroup/hlsl-mesh-shader-ext
b606e4f752 HLSL: Fix test for non-block per-primitive IO.
ebf779dcfb HLSL: Do not support ClipCull size > 4 in mesh shaders.
94160e8890 GLSL: Add test for mesh with non-block builtin IO.
3a066cd733 HLSL: Handle case where PerVertex block is not used.
f5ef0a74fb HLSL: Make sure to test deeply nested functions in mesh shaders.
e418266d25 HLSL: Some cleanups and fixes in analyze_meshlet_writes.
892f65b3a6 HLSL: Fix some warnings from review.
a4d5c0c4a5 HLSL: Fix-up some style issues from review.
10f55a11eb HLSL: Add missing reference for mesh shader test.
322f1b9fb3 Fixup glslang reference.
80146a20da HLSL: Implement VK_EXT_mesh_shader
744279ec78 Merge pull request #2050 from cdavis5e/op-spec-constant-op-composite-insert
8cf99e7d44 MSL: Implement `CompositeInsert` `OpSpecConstantOp`.
3cecac74c6 Merge pull request #2051 from KhronosGroup/roll-glslang-dep
605bce39d7 Roll glslang dependency.
677299cc56 Merge pull request #2049 from KhronosGroup/fix-2046
4de9d6c2b6 MSL: Handle implicit integer promotion rules.
c813d8d67b Merge pull request #2044 from KhronosGroup/fix-2038
2a49f7e82d MSL: Fix restrict vs __restrict incompatibility.
3ea057a303 Merge pull request #2045 from KhronosGroup/fix-2037
0851baf9ee Merge pull request #2043 from KhronosGroup/fix-2040
47c7fc16eb HLSL: Add option to bind vertex input smemantics by name.
04af769e85 MSL: Handle partial access chains with array-of-UBO/SSBO.
5763919669 Merge pull request #2039 from cdavis5e/raw-buffer-tess-input
e698633e22 MSL: Account for composite types when assigning locations.
0b679334e4 MSL: Don't flatten arrayed per-patch output blocks in tessellation shaders.
a171087180 MSL: Support "raw" buffer input in tessellation evaluation shaders.
f09ba27777 Merge pull request #2035 from KhronosGroup/fix-2032
f15d465a52 Merge pull request #2034 from KhronosGroup/fix-2028
799d8c9e35 Merge pull request #2033 from KhronosGroup/fix-2029
b5386e3ea9 HLSL: Improve support for VertexInfo aux struct.
4ecdb24e59 MSL: Expose way to query if a buffer needs array length.
f3b1375b13 Add reflection support for shader record buffers.
c821207ae2 Merge pull request #2027 from billhollings/msl-opstore-addr-space-cast
0a1127aa50 MSL: Emit correct address space when casting during OpStore.
81ba8f78f6 Merge pull request #2025 from KhronosGroup/fix-2009
291def0793 MSL: Add more keywords to reserved set.
a7f64a8b90 MSL: Report unsupported 64-bit atomics.
ddaa2da629 Merge pull request #2024 from KhronosGroup/msl-descriptor-aliasing
a915e0bd4b MSL: Do not attempt to alias push constants.
adf0995bb9 Merge pull request #2023 from KhronosGroup/msl-descriptor-aliasing
24dc49e692 MSL: Handle descriptor aliasing of raw buffer descriptors.
1ad6006130 Merge pull request #2021 from siegelaaron94/opengles_texture1d_textureSize
7b4c470f16 GLSL: Account for ES sampler1D to sampler2D promotion in textureSize.
6d3518e238 Merge pull request #2018 from atyuwen/master
7afbbb624a Merge pull request #2019 from billhollings/msl-OpPtrEqual-OpPtrNotEqual-OppPtrDiff
5493b3030e MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff.
1b9296e1a5 MSL: only fix up gl_FragCoord if really necessary.
f6ca617825 Merge pull request #2017 from KhronosGroup/roll-deps
a5a7999666 Update mesh/task test references.
d7a6861f64 Update glslang/spirv-tools.
1e7e9fc32b Merge pull request #2015 from FrankXie05/vcpkg-instructions
8553588895 Merge pull request #2014 from cdavis5e/msl-shader-output-fixup
064eaebe72 MSL: Add a mechanism to fix up shader outputs.
d206e54ece Add vcpkg installation instructions
210a800130 Merge pull request #2012 from KhronosGroup/mesh-shaders
4c345166dc GLSL: Implement task shaders.
5762617729 GLSL: Implement GL_EXT_mesh_shader.
6a73e68d30 Update glslang reference.
ec7b9b0ce7 Update SPIR-V headers.
9fcf62784b Merge pull request #2011 from KhronosGroup/roll-deps
d24f41f1d5 Update dependencies.
c93ee9261e Merge pull request #2005 from atyuwen/master
f40dba4919 GLSL: added an option to disable row-major-load workaround.
10f2aa77da Skip remapped vars in 'fixup_reserved_names'
9afa82e7b8 GLSL: disable row major load around on GLES.
33e19e86bf Don't rename remapped variables like 'gl_LastFragDepthARM'
61c603f3ba Merge pull request #1996 from KhronosGroup/fix-1993
bc3987e59a MSL: Fix various bugs with Ptr/U bitcasts.
c084973c67 Merge pull request #1995 from KhronosGroup/fix-1992
05bbcc2d09 Do not optimize OpCompositeInsert for hoisted temporaries.
a725d8fad1 Fix minor style nit from review.
1bc05ef735 Merge branch 'master' of https://github.com/gpx1000/SPIRV-Cross
a9cadd4982 Merged in cts-shared-composite-variables (pull request #1)
fc4a12fd4f MSL: Use a wrapper type for matrices in workgroup storage.
faea931de3 MSL: Also replace `bool` with `short` in structures.
0cccd0a65a Merge pull request #1986 from KhronosGroup/fix-1975
4dfac510ed Handle multiple breaks out of switches.
c24d5a7b90 Merge pull request #1985 from KhronosGroup/fix-1973
8ba0820c9d Merge pull request #1984 from KhronosGroup/fix-1972
095e9e5cee Merge pull request #1982 from RandomShaper/hlsl_subgroup_scan
be904dcc1e Handle collapsed loops similar to collapsed selections.
f7e98c39db Avoid detection of false loop variables.
cb4e310f43 Merge pull request #1983 from KhronosGroup/fix-1979
1fe470b199 HLSL: Implement GroupOperation(Inclusive/Exclusive)Scan.
06ca9accd7 HLSL: Add option to emit entry point name 1:1 instead of main().
d8d051381f Merge pull request #1970 from KhronosGroup/fix-1969
963fdfdf68 Handle PHI in collapsed switch constructs.
f46745095d Merge pull request #1965 from billhollings/msl-physical_storage_buffer
064a697b18 MSL: Fix implicit conversion precision build error.
4185acc70d MSL: Fixes from review for SPV_KHR_physical_storage_buffer extension.
78eb5043f9 MSL: Fixes from review for SPV_KHR_physical_storage_buffer extension.
e6925974d1 Merge pull request #1966 from fred-wang/macos-snprintf
9c44a97faa address more review comments
1310f5ba4d Keep using sprintf on windows.
99f8613847 Fix compilation errors with deprecated sprintf function
ba3e6ffe03 Merge pull request #1964 from sergmister/patch-1
52c7c2dab6 MSL: Add support for SPV_KHR_physical_storage_buffer extension.
1bba4d5137 Fix typo
99b59b3528 Merge pull request #1963 from KhronosGroup/convert-u-to-rtas-fix
e08e0cf28d GLSL: Handle forced temporary OpConvertUToAccelerationStructureKHR.
89b1c24bdc Merge pull request #1961 from RandomShaper/hlsl_more_bitcasts
d8c5e39436 HLSL: Implement bit casts between Half and UShort.
197a273fd4 Merge pull request #1959 from KhronosGroup/fix-1955-1956
df21a99d1a GLSL: Add more extension ladder fallbacks for unusual integer sizes.
a97bbc24c5 Merge pull request #1958 from KhronosGroup/fix-1957
cdafafe93b Merge pull request #1954 from vkaytsanov/patch-1
533aab00b6 GLSL: Add missing KHR barycentric references.
46e4b5a3c8 Fix control flow bug where we missed continue;
612de70b38 Fix missing function in README sample
50b4d5389b Merge pull request #1953 from KhronosGroup/bary-khr
e45d01c41f Emit KHR barycentrics if source enables the KHR extension.
0aedc7d128 Roll dependencies.
af223101c6 Merge pull request #1952 from KhronosGroup/fix-1944
c8ab790163 Merge pull request #1951 from KhronosGroup/fix-1950
88e583d062 GLSL: Add basic support for GL_EXT_shader_atomic_float.
1c88730e12 GLSL: Implement 1D texture emulation for ES.
3f855646f0 Merge pull request #1948 from iwubcode/gl_layer_hlsl
a6976d596a HLSL: fix BuiltInLayer to emit semantic 'SV_RenderTargetArrayIndex' instead of 'SV_RenderTargetIndex'
b3ff97d0fe Merge pull request #1946 from KhronosGroup/fix-1943
48d50fa911 Merge pull request #1945 from KhronosGroup/fix-1938
d08ce828f4 Promote Unreachable cases into break to avoid fallthrough.
4b9e60273c Add tests for OpCompositeInsert edge cases.
23662668dd Attempt more optimal codegen for OpCompositeInsert.
d0c8dc3045 Merge pull request #1942 from KhronosGroup/no-fetch-grad-workaround
a3c4177324 GLSL: Don't apply Grad LOD workarounds for fetch.
bfefb5f511 Merge pull request #1941 from KhronosGroup/fix-1934
832d469048 Merge pull request #1940 from KhronosGroup/fix-1935
05206005ca MSL: Potentially cast loaded Input variables.
92164d38d1 GLSL: Do not analyze precision for Undef variables.
940efca099 Merge pull request #1936 from KhronosGroup/rt-stage-cli
0b303aab16 Add --stage handling for ray tracing.
0c8a79b0b5 Merge pull request #1932 from KhronosGroup/fix-1868
7eb5ced2a0 Refactor out query for operation type/result IDs.
7a6c2da9aa GLSL: Handle more proper semantics for RelaxedPrecision.
d28136cc7a GLSL: Clean up some ways of querying decoration flags.
a9d23d7652 Merge pull request #1931 from EpicGames/fixes_hlsl
65431446f4 HLSL: Add missing BuiltInLayer to HLSL backend.
6ae7ddb92a Merge pull request #1930 from KhronosGroup/fix-1928
960edcd396 Merge pull request #1929 from KhronosGroup/fix-1925
10a7631d50 HLSL: Add more comprehensible reserved identifier list.
40b3053b4c Handle early reads from loop variables with initializers.
c52333b984 Merge pull request #1924 from stefalie/master
ee4ac5c2ce Merge pull request #1927 from billhollings/msl-interface-block-array-length-1
3bca246ad2 MSL: Emit interface block members of array length 1 as arrays instead of scalars.
089cf27119 remove newline at eof
56fd17f552 add qualifiers to reference reflect json output
05c9a14422 cli: display missing memory qualifiers for reflect and dump-resources
d7cae5e7cd Merge pull request #1917 from KhronosGroup/fix-1906
0500f9ed5d Merge pull request #1916 from KhronosGroup/fix-1910
d2a4f9842b GLSL: Support GL_EXT_debug_printf.
5b18fb1bcd MSL: Pass down global RayQuery object to leaf functions.
779138f39f Merge pull request #1914 from RandomShaper/hlsl_view_index
2ea1c9b642 HLSL: Implement ViewIndex.
6a67891418 Merge pull request #1909 from skkkksdkfak/primitive_id
54c00b69a4 Translate gl_PrimitiveID to SV_PrimitiveID.
0d4ce028bf Merge pull request #1903 from KhronosGroup/fix-1900
17c52990d5 MSL: Fix goofy bugs in ray query.
a3996eccf3 Merge pull request #1896 from Roy-AMD/fix-condition-issue
749be80389 Use types have same widths in loop condition.
44691aa975 Merge pull request #1899 from billhollings/forward-volatile-vars-except-builtins
85f98eb0c5 Allow volatile vars that are not builtins to be forwarded.
d000b9e71c Merge pull request #1898 from KhronosGroup/pr-1859
191c57b6cc Merge pull request #1897 from KhronosGroup/fix-1763
a7eefbc114 HLSL: Disable FXC testing for rayquery shaders.
cd209ff46d HLSL: Update test from review.
c95338e03e Merge branch 'ray_query' of https://github.com/k-payl/SPIRV-Cross into pr-1859
7b9eaf0b5e MSL: Handle awkward mix and match of Offset / ArrayStride in constants.
251361bd6f VK_KHR_ray_query implementation
565db34cba Merge pull request #1892 from KhronosGroup/meta-lookup-cleanup
39bad2c1f9 Avoid redundant meta lookups in ParsedIR when setting member decorations.
d5c3bd8b5e Merge pull request #1890 from KhronosGroup/fix-1889
4ab5bbb4e5 Fixup names of anonymous inner structs.
0b51794f01 Merge pull request #1888 from KhronosGroup/msl-ib-variable-name-alias-fix
1ec9d018fd MSL: Handle aliased variable names for resources placed in IB struct.
213c5f42ea MSL: Fix minor nits.
4ec1fb0aa9 Merge pull request #1887 from billhollings/msl-use-var-name-for-flattened-interface-struct-members
0c0fd98322 MSL: Use var name instead of var-type name for flattened interface members.
3915c37bb1 Merge branch 'fixup_gl_helper_invocation' of https://github.com/RandomShaper/SPIRV-Cross
c4f9e4fde9 HLSL: Fix Helper Invocation wrongly allowed in compute.
a1803778c2 Merge pull request #1885 from KhronosGroup/helper-invocation-rework
b192b8887a MSL: Consider that gl_IsHelperInvocation can be Volatile.
15d29f00e2 Add test for SPIR-V 1.6 Volatile HelperInvocation.
93b0dc7718 Consider Volatile in should_forward().
476b6541fa Remove forwardable bit in SPIRVariable.
5d9fc2d903 HLSL: Add test for HelperInvocation.
005c14ad6a HLSL: Implement HelperInvocationEXT.
75224c6c7c Merge branch 'gl_helper_invocation' of https://github.com/RandomShaper/SPIRV-Cross
278a4c80ed HLSL: Add support for gl_HelperInvocation
6c7a40822f Merge pull request #1881 from KhronosGroup/relax-nan-checks
31be74a853 Add relax_nan_checks options.
b91ecf6077 Merge pull request #1880 from KhronosGroup/fix-1879
2ce1e5c140 Merge pull request #1878 from mysterymath/move
dc62cc792b Handle OpTerminateInvocation.
2a7f436135 Merge branch 'msl-add-nested-structs-to-io-blocks-squash'
7b594c125e Fix formatting nits from review.
bb4ced0280 MSL: Document clarification of location incrementing.
02d588b7e4 MSL: Fix var names in test shaders to avoid reserved identifiers.
3bb3b22b34 MSL: Non-functional fixes from PR code review.
3d4daab29d MSL: Support input/output blocks containing nested struct arrays
44c3333a1c Qualify std::move.
d16183d1d2 Merge pull request #1873 from KhronosGroup/fix-1861
02440e85cf Merge pull request #1872 from KhronosGroup/fix-1867
7af0a5f820 HLSL: Do not emit VPOS fixup unless position is active.
5555f2784b MSL: Refactor and fix use of quadgroup vs simdgroup.
a569680406 Merge pull request #1870 from abrachet/master
0eda71c409 Qualify move as std::move
c08ee860c8 Merge pull request #1869 from xndcn/msl
1b5c406a3d MSL: append entry point args to local variable names to avoid conflicts
188dc8b13c Merge pull request #1862 from flokart-world/feature/flatten-ubo-for-hlsl
64e058aa9b Merge pull request #1863 from KhronosGroup/various-fixes
ed4ded040e HLSL: Make --flatten-ubo work correctly
a56b22bf4e Add more scenarios where we can guarantee forward progress.
c716a9a5dd Add debug option to modify maximum number of compile iterations.
29cc18988c Fix regression from adding 64-bit switch support.
339e61a0e0 Do not emit hoisted access chain temporaries unless backend supports it.
5d9a95370f GLSL: Ensure correct signed integer type for more texture functions.
131278458e Merge pull request #1860 from KhronosGroup/docs-update
a8016a6470 Update documentation for descriptor set support in MSL/HLSL.
1a36968e5d [Spirv_msl] Fix normalize on half3/half2 (#1856)
53d94a982e Merge pull request #1852 from KhronosGroup/fix-1850
5a29181b35 Merge pull request #1851 from KhronosGroup/fix-1835
5b952d2cbf MSL: Rethink how opaque descriptors are passed to leaf functions.
ac46140ba3 Test aliased names in declared LUTs.
48b5a9069f Handle aliased names in spec constants.
08d5f5ed18 Merge pull request #1849 from KhronosGroup/fix-1844
9b25581d49 MSL: Handle constant construct of block-like array types.
79b13813c6 Merge pull request #1848 from KhronosGroup/fix-1843
5a5be7f9b9 MSL: Handle signed atomic min/max.
7dd974b9db Merge pull request #1847 from KhronosGroup/fix-1775
e940577fba Merge pull request #1846 from KhronosGroup/fix-1760
1d13a3e36a Rework how loop iteration counts are validated.
ef6bde6580 Do not forward expressions which carry a huge amount of dependencies.
a1bb29ccbb Merge pull request #1845 from KhronosGroup/pr-1842-fix
017cdfe25b Update references for GL_EXT_texture_buffer.
4407c0dd14 fix: GL_EXT_texture_buffer is more common than GL_OES_texture_buffer
fe5a0aa72f Merge pull request #1839 from KhronosGroup/spv1.6
e8b30cc31d Merge pull request #1838 from KhronosGroup/fix-1811
7c12228359 Add sanity test for SPIR-V 1.6 modules.
7c83fc22fa Add support for LocalSizeId.
35bb328443 Test: Add --allow-localsizeid flag for spirv-val.
eadca962c8 Merge pull request #1837 from KhronosGroup/roll-deps
a10d72e3b1 Merge pull request #1834 from chirsz-ever/chirsz/fix-msl-copy-array
fe8848a6f2 Roll dependencies.
9c0b74f73b Merge pull request #1836 from KhronosGroup/pr-1824-fixup
be333e0cab MSL: Move float2->3 TessCoord fixup to a better location.
2793d22af5 Merge branch 'master' of git://github.com/cfnptr/SPIRV-Cross
e0ae55d5e2 Merge pull request #1822 from etra0/add-diff
55a0291ce5 Merge pull request #1817 from etra0/fix-1784
90c252274d MSL: Allow copy array from UniformConstant storage
2acf0e73dd Fix gl_TessCoord arguments presence. Update reference shaders.
a66984072b Fix incorrect MSL gl_TessCoord variable type
2bb051206b test_shaders: Add the option to generate diff instead.
905b8244e7 Clamp vector element access to vector size.
e9cc640334 Merge pull request #1815 from etra0/fix-1768
25868923da Merge pull request #1819 from sindney/master
6d8302ef14 MSL: Add 64 bit switch support
4b0584ce70 ESSL: Vertex shader input doesn't support array types.
37dfb3f45f Merge pull request #1794 from etra0/master
5345051a85 Removed tracking of OpConstant and OpPhi.
7c3cb0b12c Merge pull request #1810 from billhollings/early-frag-tests-depth-out
248e9ae9ed MSL: Don't output depth and stencil values with explicit early fragment tests.
75e3752273 Added block.cases_32bit and reworked the cases fix
401296d3b8 Merge pull request #1808 from billhollings/depth-img-vs-depth-cmp
03f678dec4 Cast the switch selector in GLSL to uint32_t
fd252b21ff Separate (partially) the tracking of depth images from depth compare ops.
48046646ee Fixed wrong condition and formatting.
2e0fb3a778 Merge pull request #1807 from KhronosGroup/fix-1801
f1b411c9e8 GLSL: Deal with buffer_reference_align.
1adc53b107 Merge pull request #1806 from KhronosGroup/fix-1777
21a15b90e5 Merge pull request #1804 from KhronosGroup/fix-1759
2714f5410c CFG: Handle degenerate selection constructs.
e40d19bdbf MSL: Handle non-thread storage class in Modf/Frexp pointer versions.
f1d4aff85e Merge pull request #1805 from KhronosGroup/fix-1776
2c53d30664 Merge pull request #1803 from KhronosGroup/fix-1802
4561ecddbd Handle Modf/Frexp in more cases.
d295c2a046 Merge pull request #1800 from EddeDev/master
849978653a Merge pull request #1798 from billhollings/tess-output-clip
05e8e5a953 Correctly reflect declared buffer size for out of order members.
4dcf64a99b Fixed potential compilation error in spirv_cross_containers.hpp
250a02967d Removed unnecessary tracking of types.
4ebd56bf9e MSL: Correctly emit user(clip/cullN) for clip/cull builtins in tess output struct.
f099d714f3 Removing logic in the parser
04293e03fd Merge pull request #1797 from KhronosGroup/clone-protocol
0d03516382 Always use https protocol when cloning external test deps.
061397e32e Merge pull request #1792 from billhollings/uniform-struct-packing-nested
3eb5532979 Add 64 bit support for OpSwitch
be812c45e5 MSL: Remove over-zealous check for struct packing compatibility.
66adba17a8 Merge pull request #1791 from billhollings/msl-out-of-order-struct-offsets
76cb807c19 MSL: Fix type redirection when struct members are reordered to align with offsets.
29632959d2 Merge pull request #1787 from KhronosGroup/fix-1786
edf247fb1c MSL: Workaround compiler crashes when using threadgroup bool.
43eecb2360 SPIRV-Cross contribution needed for `INTEL_fragment_shader_ordering`
94dea2507e Merge pull request #1769 from audulus/spm2
f5219f47c3 Add Package.swift.
2a56c2bc04 Merge pull request #1783 from billhollings/more-unpacked-vectors
ab640bc3d3 Merge pull request #1782 from KhronosGroup/fix-1781
974a0818b8 MSL: Support more usecases for unpacked vectors.
2b5e17eca5 MSL: Never used templated array for RayQuery objects.
bc338710e1 MSL: Remove some redundant breaks.
5afb3d313f MSL: Fix some trivial bugs not caught by CI when adding ray query.
345a7d171c Merge pull request #1773 from congyue1977/master
2895a43274 Fix unsupported exceptions for ConvertUToAccelerationStructure & BindingTableRecordOffset.
d52ec1e196 Fix all requested changes, test_shaders.py supports compiling MSL 2.4 shaders, and the Intersection Query currently only supports MSL 2.4 on the iOS platform.
6d13c99273 Merge pull request #1780 from billhollings/out-of-bounds-swizzle-fix
595eb0c21d Per spec, support undefined behavior for out-of-bounds swizzles.
597f29d09d Support Metal 2.4 Intersection Query, Implement GL_EXT_ray_query.
e4243b898c Merge pull request #1766 from KhronosGroup/fix-1765
6382f15470 Test behavior around OpSelect with matrices.
6071df5840 Fix wrong detection of trivial_mix_op.
97a438d214 Merge pull request #1757 from KhronosGroup/fix-1754
f72bb3c6f5 Improve handling of INT_MIN/INT64_MIN literals.
457c00bd07 Merge pull request #1756 from KhronosGroup/fix-1753
91c25e8473 Merge pull request #1755 from KhronosGroup/fix-1751
9b2a8c7622 HLSL: Ensure synthetic NumWorkgroups variable is considered active.
bb04156d3c CLI/HLSL: Don't set explicit binding for synthesized NumWorkgroups CBV.
96d95fbb31 MSVC: Workaround crtdbg macroing free().
9462b90067 Merge pull request #1752 from billhollings/function-constants-opquantize
325f107c5b Merge pull request #1745 from billhollings/location-component-vecsize
ec054dad7f MSL: Support synthetic functions in function constants.
dee35bf3ce Merge pull request #1749 from billhollings/fastmath-quantize
ba66a91402 MSL: Use vec<T, n> in template SpvHalfTypeSelector for function spvQuantizeToF16().
a2671e35b0 MSL: Consolidate spvQuantizeToF16() functions into a single template function.
5742047b24 MSL: Honor infinities in OpQuantizeToF16 when compiling using fast-math.
05ac99ae23 Merge pull request #1748 from billhollings/fastmath-nocontraction
fb3defc9ef MSL: Honor DecorationNoContraction when compiling using fast-math.
548a23da34 MSL: Track location component to match vecsize between shader stages.
fe1af2ae72 Merge pull request #1747 from KhronosGroup/ci-fix
d579444a82 Merge pull request #1744 from billhollings/location-attribute-fix
6628e10fc6 Merge pull request #1746 from billhollings/fast-math-per-vulkan
3ca99bbbcc Remove tests for Ubuntu 16.04.
0f12557695 Remove obsolete Travis CI YML.
40141ffddf MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results.
86dfac12c8 MSL: Fix location and component variable matching between shader stages.
b81334a513 Merge pull request #1738 from billhollings/return-value-after-discard-terminator
2a150f5a2f MSL: Add explanatory comment requested in PR review.
35e92e6ffb MSL: Return fragment function value even when last SPIR-V Op is discard (OpKill).
c2500e504d Merge pull request #1735 from billhollings/add-const-op-exprs
472f9d4f6d Add tests for OpSpecConstantOp ops OpQuantizeToF16 and OpSRem.
5fb1ca4f0d Add support for additional ops in OpSpecConstantOp.
51d8e7be94 Merge pull request #1734 from KhronosGroup/buffer-reference-uvec2
b8f1e71907 GLSL: Emit GL_EXT_buffer_reference_uvec2 as required.
d6fe75df10 Merge pull request #1732 from KhronosGroup/fix-1731
23c4480d8e Fix switch fallthrough case in some cases.
0e2880ab99 Merge pull request #1729 from KhronosGroup/fix-1726
2eea6a579b MSL: Consider that function/private variables can be block-like.
840d4483bc Merge pull request #1728 from KhronosGroup/fix-1727
5b0cafb416 Track temporary access for OpArrayLength result.
c062b6b852 Merge pull request #1725 from billhollings/fix-duplicate-glposition
fad1590786 Merge pull request #1722 from billhollings/row-maj-mtx-store-from-const
27e7abeab1 Merge pull request #1724 from billhollings/msl-const-expr-casting
e76fcf9309 MSL: Add test for fixes to MSL constant expression type down-casting.
3105e82b2e MSL: Fix duplicate gl_Position outputs when gl_Position defined but unused.
a75fe07546 MSL: Fix casting in constant expressions with different sizes.
9552ca5473 MSL: Support row-major transpose when storing matrix from constant RHS matrix.
bab4e5911b Merge pull request #1716 from KhronosGroup/terminator-access-fix
cb613eb675 Handle value access in terminators.
1964799fba Merge pull request #1715 from KhronosGroup/precise-fp16-fp64
ac11a91792 GLSL: Emit precise for fp16/fp64 types as well.
cd22336a38 Merge pull request #1712 from cdavis5e/msl-subgroup-ballot-simplify
03ad13bae6 MSL: Simplify spvSubgroupBallot().
18f3cd6810 GLSL: Ensure ray query object decls are flushed if allocated in Function.
e51630595f Merge pull request #1711 from KhronosGroup/fix-1690
5b227cc57c GLSL: Implement GL_EXT_ray_query.
6196e3b029 MSL: Remove redundant path for SampleMask.
2fcbef398c Merge pull request #1709 from billhollings/fix-sample-mask-in
fe08bf4af4 Remove EXPERIMENTAL from JSON reflection backend.
ebb5098def MSL: Adjust gl_SampleMaskIn for sample-shading and/or fixed sample mask.
be3988b13c Merge pull request #1706 from SpaceIm/fix/ios-bundle
a70ce5192e Merge pull request #1708 from KhronosGroup/fix-interpolant-access-chain
71b83a18f4 MSL: Add test for scalar access chain pull interpolant.
d42c0b2e08 Merge pull request #1707 from billhollings/fix-interpolant-access-chain
3e04eee491 MSL: Fix setting SPIRVCrossDecorationInterpolantComponentExpr decoration.
d74eaabde0 fix cross-build to iOS/tvOS/watchOS
1ae2b58f19 Merge pull request #1700 from pkasting/master
bf746bd680 Merge pull request #1699 from KhronosGroup/pervertexnv
7cdab07efe Fix -Wunreachable-code-aggressive.
206ee8f171 GLSL: Support pervertexNV in NV barycentric extension.
c5b8022e61 Merge pull request #1669 from KhronosGroup/1560-reuse1
54882ad16d Add GLSL.std.450.h to REUSE.
3781d49d7c .gitignore ignored new license text
c862f8d22d Actually checkout repo into new reuse job
f2a65545b8 Finish adding SPDX tags and setup a reuse checked in Github Actions CI
2ceca64004 Add missing copyright headers.
853e84e8bf Merge pull request #1698 from KhronosGroup/fix-1691
d6b29ab017 HLSL: Rewrite how block IO is emitted.
9338996f3b Merge pull request #1697 from KhronosGroup/fix-1693
3149095585 Merge pull request #1696 from KhronosGroup/fix-1694
d75666b170 GLSL: Emit num_views for OVR_multiview2.
8216e87f02 Handle SPIR-V 1.4 selection constructs.
9cdeefb5e3 Merge pull request #1692 from Kangz/fix_default_copy_dtor
6a85c695cc Fix IVariant -Wdeprecated-copy-with-dtor
2e1b5fb39e Merge pull request #1686 from KhronosGroup/fix-1684
fa42f1ce34 Merge pull request #1685 from KhronosGroup/fix-1683
449f68ef3b Ensure loop control flow hints only appear above loops.
d62b3c2b92 GLSL: Implement control flow hints.
165dbff228 Handle odd type for textureGather component.
585fc6f3cb MSL: Always enable support for base vertex/index on iOS.
a6ce49ca24 Merge pull request #1680 from xndcn/cc
02fb8f2a24 Add comment after inf/nan float number for clarifying.
ff61890722 Merge pull request #1679 from okuoku/fix-c-sample-code
38c6ef1d56 Fix C sample code in README.md
faec1a8643 Merge pull request #1678 from KhronosGroup/fix-1674
9ea0e8b859 Merge pull request #1677 from KhronosGroup/fix-1673
c87cb54499 MSL: Add CLI option for sampler suffix.
bf3793dd35 MSL: Improve handling of split tessellation access chains.
a6c9514856 Merge pull request #1676 from KhronosGroup/fix-1671
0214990e7c Merge pull request #1675 from KhronosGroup/fix-1670
26a4986009 GLSL: Implement noncoherent framebuffer fetch.
99ae0d32e9 MSL: Handle array with component when we cannot rely on user() attrib.
a64ddcdd49 MSL: Handle array of IO variable with Component decoration.
418542eaef Merge pull request #1668 from KhronosGroup/fix-1665
b8115ffbe0 HLSL: Implement invariant as precise.
e47a30e807 Honor NoContraction qualifier.
0eeaffe048 Merge branch '16-bit-int-types-glsl'
6dbab0df47 Update reference output.
0408c592dd Fixed 16 bit int types
72a2ec4c1b MSL: Fix '--msl-multi-patch-workgroup' out of bounds reads when dispatching more threads than control points (#1662)
995c7981cc Merge pull request #1663 from billhollings/metal-arg-buff-padding-patch
098cdd64f6 MSL: Padding for Metal argument buffers should not double-count SampledImages.
c624d5387c Merge pull request #1660 from KhronosGroup/fix-1658
82a77e534e MSL: Use proper array for quad tess levels.
b38e3b4a47 Merge pull request #1661 from KhronosGroup/fix-1659
0e963c62b6 HLSL: Support Shuffle wave ops.
bbcef69a45 Merge pull request #1657 from KhronosGroup/fix-1607
532f65583e Rewrite how non-uniform qualifiers are handled.
d137abeef5 Merge pull request #1655 from KhronosGroup/fix-1640
8e24e0b224 Merge pull request #1654 from KhronosGroup/fix-1641
71eb1754e3 Merge pull request #1653 from KhronosGroup/fix-1638
2cbc7f0f37 Merge pull request #1652 from KhronosGroup/fix-1644
b084f639cb Merge pull request #1651 from KhronosGroup/fix-1645
c89b5a1a3f GLSL: Support shading rate builtins.
3fd148450a GLSL: Implement gl_FragFullyCoveredNV.
f93a8fb1fe GLSL: Support GL_EXT_shader_image_load_formatted.
90c70e6605 MSL: Handle variable access in OpSelect.
96ba044f01 HLSL: Fix automatic location assignment in block IO.
3cb8e7c223 Merge pull request #1643 from KhronosGroup/fix-1639
ae9ca7d73c MSL: Fix copy of arrays to/from stage IO variables.
986196030d MSL: Don't use native arrays for tess level inputs.
4a379a00f3 MSL: Don't emit native array for masked clip/cull distance.
406af8ff4d c: Add C API for builtin stage IO reflection.
b4a380a04c Support reflecting builtins.
852f2da63c Check SPIR-V 1.4 rules when reflecting resources.
682a227f4b MSL: Make builtin argument type declaration context sensitive.
c1edd35d57 MSL: Use spvUnsafeArray for builtin arrays after all.
7b9a591aa7 MSL: Hoist out to_tesc_invocation_id() in more places.
75ed73818c MSL: Handle loading Clip/CullDistance in TESE.
a159334895 MSL: Correctly analyze if builtin block is active.
cea934c03f MSL: Test that we can capture cull distance to buffer.
5826298697 MSL: Handle CullDistance better.
23da445bd4 MSL: Emit multiple threadgroup slices for multi-patch.
b442500204 MSL: Unroll initializations of CullDistance/ClipDistance control points.
c9946296dd MSL: Fix initialization of masked threadgroup variables.
ee85bb345e Fix print_help comment.
faf80b08fc MSL: Don't report fallback location allocations as being "used".
adc5fe3615 C: Add C api for stage output masking.
5e9c2d060e MSL: Cleanup fallback IO block emission.
e32c474911 MSL: Handle masking of TESC IO block members.
dc54f75eec MSL: Fixup gl_PerVertex names if we're emitting masked builtins.
40f628f49c MSL: Add test for complex control point outputs.
46c48ee6b5 MSL: Rewrite how IO blocks are emitted in multi-patch mode.
425e968720 MSL: Handle flattening of patch block outputs as well.
8e2dbe0d38 MSL: Do not declare patch variables on stack.
ff3f5bcba5 MSL: Handle masking of builtin control points.
6ecdd64a91 MSL: Emit a masked builtin IO block if necessary.
436b1250da MSL: Do not perform scalar fixups for control-point outputs.
22c9b63e78 MSL: Fix argument_decl check for builtin.
c635c35c12 MSL: Temporarily allow empty output struct.
a59e25db18 MSL: Small refactors.
74b2acab9b MSL: Always emit block variable for block types.
ae7bb41ef4 MSL: Test that we can mask location writes in TESC.
3255d6cef0 MSL: Explicitly only consider masked variables to be thread-group-like.
ba93b6518d MSL: Fix masking of vertex block outputs.
a393de31e6 MSL: Refactor out variable/block member masking.
857295a9ab MSL: Add tests for masking with --for-tess.
43b6ea2c9a MSL: Remove position mask tests. They will fail compilation.
e7b37392bf MSL: Emit correct address space for masked arguments.
65b5ff7ece MSL: Don't emit weird reference type for spvUnsafeArray types.
e7824c8b6e MSL: Handle masked outputs in extract_global_variables.
50a6bc058a MSL: Force builtin arrays for builtin array types.
88b54f5dab MSL: Add tests for vertex output masking.
394c038bfd MSL: Do not consider effective storage for any composite.
04988b89b9 MSL: Handle effective storage for masked CP outputs.
f2b5fb3f45 MSL: Emit threadgroup storage class for masked control point outputs.
ea91579a7f MSL: Do not redirect tess access chains on masked outputs.
9c1cadd440 Add --mask-stage-output-* CLI options.
f682e89188 MSL: Correctly emit array type for masked outputs.
2a2d57df13 MSL: Sketch out API to aid LTO-style optimization.
9a144bb2b9 Clean up member sorting.
0997e81118 MSL: Sort builtin IO block members by builtin type.
b4aa6dacfa MSVC: Add /bigobj for debug builds.
45818c14e4 Merge pull request #1648 from billhollings/msl-pad-arg-buff-structs
b3bfe22eaa MSL: Fixes to support padding Metal argument buffer entries based on argument index.
daba0dfba6 MSL: Fixes to support padding Metal argument buffer entries based on argument index.
9060e5a13c MSL: Fixes to support padding Metal argument buffer entries based on argument index.
9866cf4496 MSL: Fixes to support padding Metal argument buffer entries based on argument index.
6c0e11f907 Merge branch 'master' of https://github.com/billhollings/SPIRV-Cross into msl-pad-arg-buff-structs
582749ac68 Merge pull request #1650 from Dredhog/active-builtins-c-api
edde535574 c: Remove SPVC_PUBLIC_API prefix from API implementation
215f31b33f c: Add missing API to query active builtins.
17dab614dc MSL: Support padding Metal argument buffer entries based on argument index.
d2e1e7ba98 Fix Github CI in PRs.
28ae7b8f35 Merge pull request #1642 from mehmetoguzderin/msl-long-ulong-member
e2f7a753d2 Move condition to default block
0a0c9db9be MSL: Support long ulong types in buffers in 2.3+.
84d1f8aa2a Use Github actions CI tag.
2e000a0be4 Add GitHub Actions script.
60aa24566e Merge pull request #1633 from KhronosGroup/fix-1626
ee31e84e30 GLSL: Handle complex load/store scenarios to gl_SampleMask.
fb1f295aaf Merge pull request #1635 from KhronosGroup/fix-1627
5d846acee5 Merge pull request #1634 from KhronosGroup/fix-1625
0ac70fa7ca Merge pull request #1632 from KhronosGroup/fix-1629
4ca06c7278 Handle edge cases in OpCopyMemory.
aea6d29aa8 MSL: Add test for logical subgroup arith ops.
d6c2c1b39a HLSL: Support logical subgroup ops.
5570043af3 GLSL: Add support for Logical subgroup ops.
bc4cb1b3c5 Throw if SPIR-V module has no entry points.
d57ab68a21 Merge pull request #1630 from KhronosGroup/fix-1628
97796e0609 MSL: Deal with pointer-to-pointer qualifier ordering.
621884d709 Merge pull request #1622 from KhronosGroup/fix-1619
da238e5f12 Merge pull request #1623 from phuang/patch-2
c66a571057 Add two missing source files
b1e36a1f78 Merge pull request #1621 from KhronosGroup/fix-1618
85704f70bc MSL: Handle load and store to TessLevel array in TESC.
ce552f4f91 MSL: Gracefully assign automatic input locations to builtin attributes.
aa271c1460 MSL: Refactor out location consumption count computation.
6f1f6775f3 Add comment where aux image atomic buffers are reflected from.
92d379bab4 Merge pull request #1620 from phuang/patch-1
bc3416a18f Fix build errors on Windows
bae17e8204 Merge pull request #1617 from KhronosGroup/fix-1608
5789e3eed9 Merge pull request #1616 from KhronosGroup/fix-1609
daddbd4078 MSL: Fixup type when using tessellation levels in TESC functions.
0ad12a0036 MSL: Always return [[position]] when required.
05a1a07f70 Merge pull request #1615 from KhronosGroup/fix-1612
09dc76f68a c: Add missing IOS_SUPPORT_BASE_VERTEX_INSTANCE option.
8f5ab50fb8 Merge pull request #1614 from KhronosGroup/fix-1610
21a931613e HLSL: Add vector to illegal names list.
4741bbaa64 Merge pull request #1606 from billhollings/position-invariance
8e03cb60a5 Expose position invariance.
84a41cd488 Merge pull request #1603 from KhronosGroup/small-improvements
ea02a0c03a Check entry point variables in is_hidden_variables.
4bedad3860 Handle nonuniformEXT qualifier for acceleration structures.
7ab3f3f74e Deal better with CompositeExtract from constant composite.
66fb0bd9df GLSL: Handle tracing against incoming payload/callable.
9acb9ec31f Merge pull request #1594 from KhronosGroup/fix-1591
a5eaf2f44a Merge pull request #1595 from KhronosGroup/copyright-update
4704482bbc meta: Update copyright headers to 2021.
4c866e4662 Fix pathological complexity explosion for certain shaders.
820179bf46 Merge pull request #1590 from KhronosGroup/fix-1584
2097c30985 GLSL: Support both SPV_KHR_ray_tracing and NV_ray_tracing.
702c903f98 Merge pull request #1589 from KhronosGroup/roll-deps
ce18d1b8a5 CLI: Fix silly regression with handling of -V.
5d82d32e0f Roll dependencies.
0e5078dc0c Merge pull request #1588 from KhronosGroup/fix-1582
893a011299 MSL: Fix various bugs with framebuffer fetch on macOS and argument buffers.
3136e34215 MSL: Always use input_attachment_index for framebuffer fetch binding.
134a520034 Merge pull request #1587 from KhronosGroup/refactor-active-variable-consideration
03ee71e86c Add test for pure initializer gl_FragDepth.
3776d8978c GLSL: Force block declaration if clip/cull is used in tesc.
014b3bc5ea MSL: Make sure initialized output builtins are considered active.
a4a9b53b5b MSL: Always enable Outputs in vertex stages.
fa76d01203 MSL: Only consider builtin variables if they are part of IO interface.
c8837d7d80 MSL: Very slight refactor.
234c65c0f3 Merge pull request #1585 from KhronosGroup/fix-1569
72e9f619a9 Merge pull request #1583 from KhronosGroup/fix-1567
42ec132357 Merge pull request #1581 from KhronosGroup/fix-1554
c033a93951 GLSL: Fix -Wshadow error.
1a28a04333 GLSL: Update SPIR-V headers for modified ray tracing opcodes.
02b7f9cbe9 CLI: Add stdin support.
efed4c9738 MSL: Fix initializer for tess level outputs.
ab9200ffdf MSL: Don't flatten builtin arrays unless they're part of IO interface.
df4f8ef8fe MSL: Emit correct initializer for tessellation control points.
ad3e1584f9 MSL: Handle initializers for tess levels.
39fee93906 GLSL: Refactor out Output variable initialization.
6a3ea0385e GLSL: Add test for initializing tess level output.
175381fe08 GLSL: Handle some extreme edge cases in Output variable initialization.
7b7a21c405 Merge pull request #1578 from KhronosGroup/fix-1568
1a38fec382 Minor redundant nit.
a1c784f002 More robust handling of initialized output builtin variables.
9a304fe931 Handle output IO block initializers more robustly.
49ab12919c Merge pull request #1577 from KhronosGroup/fix-1574
3514c9ff33 Merge pull request #1576 from KhronosGroup/fix-1571
3a85d1c80c CMake: Disable compiler extensions explicitly.
ddb3c65648 Handle reserved identifiers for functions.
c4ff129fe3 MSL: Handle reserved identifiers for entry point.
e50f7d1ce8 Merge pull request #1566 from KhronosGroup/subgroup-table-fix
c8765a75f2 GLSL: Fix KHR subgroup extension table for subgroups.
762c3082ae Merge pull request #1564 from KhronosGroup/fix-1558
1eb42eb18c Merge pull request #1563 from KhronosGroup/fix-1559
a11c4780d0 GLSL: Emit nonuniformEXT in correct place for late-combined samplers.
dc940846d7 GLSL/HLSL: Disallow VariablePointers capability outright.
6d10da0224 Merge pull request #1553 from comex/no-subgroups-in-vertex-shaders
f41b59b36e Merge pull request #1557 from KhronosGroup/mit-dual-license-api
cf1e9e0643 Add MIT dual license for the SPIRV-Cross API.
0b79db773f Merge branch 'master' of git://github.com/js6i/SPIRV-Cross
c09a65c12d MSL: Added fmin3 and fmax3 library functions to the illegal name list.
5a85fa9400 msl: Don't try to use [[thread_index_in_simdgroup]] in vertex shaders.
be527632a6 Merge branch 'unused' of git://github.com/comex/SPIRV-Cross
c80cbde7aa spirv_msl: Don't add fixup hooks for builtin variables if they're unused.
3d16060c32 Merge pull request #1551 from cdavis5e/msl-subgroup-inactive-ballot-mask
1e67b21ee9 MSL: Don't mask off inactive bits in ballot masks.
1f178be3c9 Merge branch 'msl-sample-rate-position' of git://github.com/cdavis5e/SPIRV-Cross
fd738e3387 MSL: Adjust FragCoord for sample-rate shading.
782916a797 Merge pull request #1549 from KhronosGroup/various-fixes
e07f0a9df5 GLSL: Fix buffer_reference with aliased names.
c5826b4b69 GLSL: Emit storage qualifiers for buffer_reference.
650b5e1b12 HLSL: Fix validation with FXC for test.
6a614cc7f7 Normalize all internal workaround methods to use spv prefix.
35d3b9c3e7 Merge branch 'msl-subgroup-ops-2' of git://github.com/cdavis5e/SPIRV-Cross
dabdf4eff6 Merge pull request #1547 from scribam/cmake-minimum-required
1eb4852856 CMake: Set minimum required version to 3.0
68908355a9 MSL: Expand subgroup support.
58291963c6 Merge branch 'glsl-vertex-attrib-64bit' of git://github.com/rdb/SPIRV-Cross
df5e3730ca GLSL: Require GL_ARB_vertex_attrib_64bit for double input in pre-4.10
b3c59263a0 Merge pull request #1541 from cdavis5e/msl-ios-features
88e25e60ec MSL: Expose some more features on iOS.
1ee2d13873 MSL: Add missing reference file.
ef0256c23e Fix switch fallthrough
0d6fad4ab9 Merge branch 'extract_subgroup_ops' of git://github.com/js6i/SPIRV-Cross
9c2c0a23b9 Merge pull request #1533 from rdb/texture-fetch-size-fallbacks
10fa5f62aa GLSL: Legacy / extension fallbacks for textureSize and texelFetch
f0239bce05 MSL: extract global variables from subgroup ballot operations
6fc2a0581a Run format_all.sh.
71fcf0d9e6 Update texture gather test result.
008f3baad7 Merge branch 'arb-texture-gather' of git://github.com/rdb/SPIRV-Cross
46bf1e99d6 Merge pull request #1525 from cdavis5e/msl-interpolation-functions
509908d8db GLSL: Add error checking and extension fallback for textureGather
683c3f5c3f Merge pull request #1530 from rdb/legacy-glsl-round
ea334c14bc Merge pull request #1527 from rdb/legacy-transpose
2417010046 Merge pull request #1528 from rdb/fix-legacy-vertex-shader-lod
1648747fa7 Merge pull request #1529 from KhronosGroup/fix-msl-gather-regression
b3bd674aa7 GLSL: Remove unused `lod` argument from legacy_tex_op()
bf71994dae GLSL: implement transpose() in GLSL 1.10 / ES 1.00
9e6e5d2738 GLSL: Fix round/roundEven for legacy GLSL.
e8c500ceef GLSL: Fix support for textureLod in legacy vertex shaders
db13762297 MSL: Fix regression in image gather handling.
aca9b6879a MSL: Support pull-model interpolation on MSL 2.3+.
a20c768698 Merge pull request #1524 from rdb/hlsl-round-even
854f566869 HLSL: Support roundEven() in HLSL SM 4.0 and above
2e1bdeb212 Merge pull request #1520 from rdb/dx9-dref-samplers
135933d59e HLSL: Add regression test for SM3.0 texture samplers
18893ba3b9 HLSL: Support depth comparison texture sampling in SM 2/3.
fc644b50e6 Merge pull request #1523 from KhronosGroup/fix-1512
512e851185 Merge pull request #1522 from KhronosGroup/fix-1510
b3344174f7 HLSL: Add option to flatten matrix vertex input semantics.
1f018b0fb8 Parser: Don't assume OpTypePointer will always take a SPIRType.
244839d350 Merge pull request #1516 from billhollings/VK_EXT_descriptor_indexing
4bdd49df3f Syntax and format updates from code review.
c5a3f37a1c Merge pull request #1519 from cdavis5e/msl-mac-comparison-bias-grad
dcd66c283c Merge pull request #1521 from devshgraphicsprogramming/master
6402586015 Updated ref file for subgroups_basicvoteballot.vk.comp
9a1af25f02 Merge pull request #2 from KhronosGroup/master
6c5f394b09 Fix some bad assumptions about emulating `subgroupBarrier`
7f67abe0fe Minor format and typo updates from code review.
547c29f7bb MSL: Allow Bias and Grad arguments with comparison on Mac in MSL 2.3.
8884b34940 Merge pull request #1517 from atyuwen/master
303f813166 Merge pull request #1518 from KhronosGroup/fix-nonuniform-bracket-handling
439b666829 GLSL: Fix nonuniformEXT injection.
871a023877 fixed compile error with -std=c++20
541a801fed Merge pull request #1514 from cdavis5e/msl-mac-framebuffer-fetch
c8a43876c7 added metal keyworld: "level" (#1501)
b7b0e804e5 MSL: Support run-time sized image and sampler arrays (GL_EXT_nonuniform_qualifier/SPV_EXT_descriptor_indexing).
c20d5945a2 MSL: Allow framebuffer fetch on Mac in MSL 2.3.
78c6d2d628 Merge pull request #1509 from cdavis5e/mac-post-depth-coverage
08e49bfd67 Merge pull request #1508 from KhronosGroup/fix-1507
346b0b6c21 Merge pull request #1493 from KhronosGroup/ubo-row-major-load-workaround
d48d2a95c7 MSL: Allow post-depth coverage on Mac in MSL 2.3.
542d460364 Handle case where block is loop header, continue AND break block.
e47561a28b GLSL: Support a workaround for loading row-major matrices.
5ae9153a78 Merge pull request #1505 from cdavis5e/msl-vertex-writes
1b6b9705e6 MSL: For 2.1+, don't disable rasterization for vertex writes.
1a95017d11 Merge pull request #1503 from KhronosGroup/travis-python-update
b3a74f3a22 Merge pull request #1504 from KhronosGroup/fix-1502
f65f259ab7 MSL: Do not use component::x gather for depth2d textures.
1d68cbfb1b Update TravisCI python reference.
dd35821f2f Merge pull request #1499 from cdavis5e/subgroup-fixes
1264e2705e MSL: Cast broadcast booleans to ushort.
065b5bda3c MSL: Mask ballots passed to Ballot bit ops.
781367d083 MSL: Support vectors with OpGroupNonUniformAllEqual.
6ccb902462 MSL: Correct definitions of subgroup ballot mask variables.
a57b4b1b2e Merge pull request #1498 from cdavis5e/msl-swizzle-arrayed-nonconstant
064ed448b9 MSL: Don't remove periods from swizzle buffer index exprs.
7b80307a7d Merge pull request #1495 from cdavis5e/1d-2d-offset-grad
5845e009ea MSL: Handle Offset and Grad operands for 1D-as-2D textures.
0db1569e97 Merge pull request #1492 from KhronosGroup/non-native-matrix-fix
9c220a8247 Merge pull request #1490 from KhronosGroup/fix-1488
23a0cfc842 Merge pull request #1494 from cdavis5e/msl-tesc-tess-level-cast
3e6010d8c5 MSL: Don't use a bitcast for tessellation levels in tesc shaders.
120af42616 GLSL: Use need_transpose when checking for non-native matrix.
bd1ee4344e MSL: Support querying and modifying generated combined sampler suffix.
7332b44c3c Merge pull request #1489 from cdavis5e/msl-fix-atomic-image-coord
21d38f74ce MSL: Fix calculation of atomic image buffer address.
e827a06984 Merge pull request #1487 from cdavis5e/msl-atomic-image-interlock
7a5d0d6b29 MSL: Add missing interlock handling to atomic image buffers.
fab6ad234e Merge pull request #1486 from cdavis5e/atomic-image-argument-buffer
cc7aabce72 Merge pull request #1485 from cdavis5e/msl23-demote-to-helper
9cafea6cf8 MSL: Support atomic access to images from argument buffers.
2219c4a392 MSL: Support SPV_EXT_demote_to_helper_invocation for MSL 2.3.
401af49326 Merge pull request #1482 from KhronosGroup/gl-subgroup-merge
5619329665 Style nits for GL subgroup implementation.
a6f6547cf1 Add missing VK variant of the test file.
28994a3186 Update GL subgroup test file.
819c599ecd Merge branch 'issues1350-2' of git://github.com/devshgraphicsprogramming/SPIRV-Cross into master
db52e277b9 Resolved issues 1350, 1351, 1352
5cc2e4f634 Merge pull request #1475 from KhronosGroup/fix-1474
e0c9aad934 GLSL: Add support for transform_feedback3 geometry streams.
7a99d1cb72 GLSL: Use literal array size for cull/clip array sizes.
e6f5ce6b89 Merge pull request #1471 from KhronosGroup/fix-1467
6254be910e Merge pull request #1470 from KhronosGroup/fix-1469
34a6a45fba Work around MSVC warning.
5ea576ece2 Allow flip_vert_y in all relevant stages.
ea3cd74426 Merge pull request #1468 from dj2/roll-09-22
9880b05572 Roll dependencies.
8891bd3512 Merge pull request #1466 from KhronosGroup/fix-1465
2144274a91 Clean up conditional branch codegen.
54cc0b01f6 Deal with case where a selection construct conditionally merges/breaks.
16d9fea77c Merge pull request #1463 from KhronosGroup/fix-1462
66afe8c499 Implement a simple evaluator of specialization constants.
bdbef7b1f3 Merge pull request #1461 from Kangz/fix-warnings
bcd71536e2 Fix -Wduplicate-enum and -Wrange-for-analysis.
ba2d0e17d3 Merge pull request #1460 from KhronosGroup/fix-1458
446596643a Roll glslang/SPIRV-Tools deps.
18d03b3ea6 Handle OpUndef %void.
bad9dab8df Merge pull request #1457 from cdavis5e/msl-layered-subpass-data
4cf840ee7b MSL: Support layered input attachments.
c7507e39d4 Merge pull request #1456 from KhronosGroup/fix-1455
3360daa6f3 MSL: Fix OpCompositeInsert and OpVectorInsertDynamic.
9e3dbdc8d6 Merge pull request #1454 from cdavis5e/msl-multiview-non-layered
cab7335e64 MSL: Don't set the layer for multiview if the device doesn't support it.
4752a44f9e Merge pull request #1453 from cdavis5e/msl-multiview-base-instance
53080ecca8 MSL: Fix multiview view index calculation with a non-zero base instance.
685f86471e Merge pull request #1452 from KhronosGroup/minor-nits
95993f78af Run format_all.sh.
ee1b4e7042 Work around annoying warning on GCC 10.2.
eec76b04c7 Merge pull request #1450 from KhronosGroup/fix-1440
a07441568e Overhaul how we deal with reserved identifiers.
f0fe4442e3 Merge pull request #1448 from KhronosGroup/fix-1437
4f0f0e5a07 Merge pull request #1449 from KhronosGroup/fix-1443
fdbc80d131 HLSL: Fix FragCoord.w.
fad36a6b28 HLSL: Deal with partially filled 16-byte word in cbuffers.
dd1f53ff15 HLSL: Fix bug in is_packing_standard for cbuffer.
4c7944bb42 Merge pull request #1446 from kakashidinho/master
ab8eb70af1 Fix #1445: MSL: Enclose args when convert distance(a,b) to abs(a-b)
82d1c43e40 Merge pull request #1441 from cdavis5e/msl-tesc-composite-out
3347b1076d MSL: Fix handling of matrices and structs in the output control point array.
c333445ada Merge pull request #1436 from KhronosGroup/fix-1408
8a1843ab20 Add some test cases for complex type aliasing scenario.
eb580d6656 Ensure that we use primary alias type when emitting flattened members.
aac6885950 GLSL: Be more aggressive about using type_alias.
038b0bf238 Only rewrite type aliases for the base type.
7778792aec Merge pull request #1434 from KhronosGroup/glsl-force-flattened-io
57c93d44ac GLSL: Add option to force flattening IO blocks.
f5e9f4a172 Merge pull request #1432 from ponitka/hlsl-sample-mask
ba58f78395 Adding BuiltInSampleMask in HLSL
0376576d2d Merge pull request #1429 from ponitka/master
18f23c47d9 Enabling setting a fixed sampleMask in Metal fragment shaders.
934825a6a2 Merge pull request #1294 from cdavis5e/msl-multi-patch-workgroup
688c5fcbda MSL: Add support for processing more than one patch per workgroup.
3dcc23a5b3 Merge pull request #1431 from dj2/roll-07-22
ac08a89cf0 Merge pull request #1430 from cdavis5e/msl-refactoring
c4f3d4ae29 Roll GLSLang, SPIRV-Headers and SPIRV-Tools.
884bc6df65 MSL: Factor creating a uint type into its own method.
5e13f7fdf2 MSL: Factor a really gnarly condition into its own method.
6575e451f5 Merge pull request #1423 from KhronosGroup/msvc-2013-fix
36c999ae3f MSVC 2013: Fix silently broken builds.
39ce5b46de Merge pull request #1421 from troughton/patch-3
b74a84e4cb MSL: Ensure OpStore source operands are marked for inclusion in function arguments
559b21c6c9 Merge pull request #1420 from dj2/roll-07-06
63fbdaca93 Roll deps.
3b366db7f1 Merge pull request #1416 from KhronosGroup/fix-1415
711300baed MSL: Do not emit swizzled writes in packing fixups.
fa5b206d97 MSL: Workaround broken vector -> scalar access chain in MSL.
fab75792a9 Merge pull request #1419 from KhronosGroup/msl-input-attachment-index-fallback
e1600d4df8 MSL: Use input attachment index directly for resource index fallback.
c465cd5004 Merge pull request #1417 from KhronosGroup/fix-351
2ac8f51b06 GLSL: Support I/O flattening with arrays as final type.
2d43103a55 GLSL: Support multi-level struct flattening for I/O.
d573a95a9c Run format_all.sh.
8f716947c2 test: Use --hlsl-dx9-compatible when attempting to compile SM 3.0 shaders.
2894b40868 Merge pull request #1412 from KhronosGroup/fix-1411
70f17142de GLSL: Fix nested legacy switch workarounds.
b1082c10af Merge pull request #1410 from KhronosGroup/fix-1406
42096ca4a1 Merge pull request #1409 from KhronosGroup/fix-1405
4d79d634f5 GLSL: Implement switch on ESSL 1.0.
bae76d7915 GLSL: Use for-loop fallback instead of do/while for legacy ESSL.
3afbfdb090 Implement context-sensitive expression read tracking.
05188aca69 Fix bug with control dependent expression tracking.
2e7a562583 Merge pull request #1404 from KhronosGroup/fix-1402
eb0f0323d3 HLSL: Workaround FXC bugs with degenerate switch blocks.
f9ae06512e Merge pull request #1401 from dj2/roll-deps-22
9eb615c63b Merge pull request #1400 from KhronosGroup/fix-1399
0abc017501 Roll deps and update tests.
f9da366ae6 MSL: Remove the old VertexAttr API.
7edaea87cf Merge pull request #1398 from Kangz/fix-deprecation
6add77aa97 Merge pull request #1397 from KhronosGroup/fix-1396
8aee532f56 Fix placement of SPIRV_CROSS_DEPRECATED.
f141521ebe Fix duplicated initialization for loop variables with initializers.
d7976b7b24 Merge pull request #1395 from KhronosGroup/fix-1394
ace4d25222 MSL: Add test case for constructing struct with non-value-type array.
7314f51a32 MSL: Deal with loading non-value-type arrays.
02db4c1f16 MSL: Add tests for array copies in and out of buffers.
03d4bcea68 MSL: Improve handling of array types in buffer objects.
11832b6e14 Clean up some deprecation warnings when building with Makefile.
5e509b159a Remove unused member in MSLShaderInput.
a64484f62b Merge pull request #1392 from cdavis5e/msl-frag-input-vecsize
5281d9997e MSL: Fix up input variables' vector lengths in all stages.
7073ed2edb Merge pull request #1393 from KhronosGroup/fix-1391
d13dc0ce47 HLSL: Fix texProj in legacy HLSL.
9e3df69d4e Merge pull request #1390 from rdb/master
031cbaa5a2 GLSL: Require GL_ARB_draw_instanced for gl_InstanceID in GLSL < 1.40
92fcd7d2b0 Merge pull request #1389 from KhronosGroup/sparse-clamp
f383cc98f2 GLSL: Handle the rest of GL_ARB_sparse_texture_clamp.
bbefea2b02 Merge pull request #1388 from KhronosGroup/uint-sparse-residency-query
857e1c445c GLSL: Support uint code for sparse residency query.
553a7f959b Merge pull request #1385 from KhronosGroup/fix-1237
cbe0cca73b Refactor texture fetch function generation.
b73c047faf Merge pull request #1387 from Lichtso/master
1f5875e23e Fix missing switch cases in Y'CbCr conversion
3ce81c0025 Merge pull request #1384 from KhronosGroup/fix-1380
757c10bbe4 Merge pull request #1383 from KhronosGroup/fix-1381
275974e062 GLSL: Implement sparse feedback.
6600793884 MSL: Remove obsolete MSLVertexAttr members.
2d5200650a HLSL: Add native support for 16-bit types.
d385bf096f Merge pull request #1378 from bbernhar/issue_410
32bead81c8 Prefer set/binding API
999a7b5256 Merge pull request #1379 from KhronosGroup/fix-1377
165392a2b0 Document all CLI options.
d31bc0247e Do not mask writes to remapped variables in all cases.
17bccc9f7e HLSL: Add option to treat certain SSBO bindings as UAV, even with readonly.
61cddd6307 Merge pull request #1376 from KhronosGroup/fix-1374
58dad82fcb Handle physical pointers in reflection API.
f992548434 Merge pull request #1372 from KhronosGroup/gl-draw-parameters
ef247e75ec GLSL: Improve support for GL_ARB_shader_draw_parameters in desktop GLSL.
ec558bc98e Merge pull request #1371 from dj2/roll-deps-21
3d01d1bf50 Roll SPIRV-Tools, SPIRV-Headers and GLSLang.
287e93ff80 Merge pull request #1370 from dj2/roll_deps_20
29ad40e93e Merge pull request #1369 from KhronosGroup/more-rt-tests
8bf916f575 Roll dependencies
b4dd0b6fb1 GLSL: Add more test shaders for hit attribute types.
66ec3e3e54 GLSL: Support ray payloads and hit attributes declared as Block.
271ad33380 GLSL: Add some more focused RT test shaders.
3c43f055df Merge pull request #1366 from KhronosGroup/fix-1365
f3a362b1aa HLSL: Implement image queries for UAV images.
d638d2df9c Merge pull request #1363 from KhronosGroup/rt-gl-instance-id
86380acf4d Support gl_InstanceID in RT shaders.
b7823ec389 Merge pull request #1361 from KhronosGroup/msl-single-element-array-refinement
107ab7c2b7 MSL: Avoid packed arrays in more cases.
de3698f0e0 Add missing reference files from PR merge.
b8ba89a1ac Merge branch 'master' of git://github.com/kakashidinho/SPIRV-Cross
9ddfe6db6d Fix #1359: MSL: If the packed type is scalar, don't emit "pack_" prefix.
92f7d36c72 Merge pull request #1356 from KhronosGroup/fix-1354
0ebb88cc39 MSL: Redirect member indices when buffer has been sorted by Offset.
137dbeb7f1 Merge pull request #1355 from Kangz/fix-microsoft-enum-value
a3a590a82e Fix -Wmicrosoft-enum-value
7e0295abf8 Merge pull request #1353 from zoddicus/updateSPIRVHeaders
76658247ac Update SPIR-V Headers to 1.5 rev 3
471990d4dc Merge pull request #1349 from KhronosGroup/fix-1348
35a9b793d6 Work around odd deadlock in test_shaders.py in --parallel mode.
d7d630a0b7 Merge pull request #1347 from KhronosGroup/fix-1343
4330b046be Merge pull request #1346 from KhronosGroup/fix-1340
9b7140e2ba Implement OpAtomicLoad/OpAtomicStore.
cbaaa02af9 Merge pull request #1345 from apayen/master
6ef47d6657 MSL: Fix case where subpassInput is passed to leaf functions.
4edfe96739 Fixed recursion in combined_decoration_for_member Members in nested structs were not properly iterated on, and as a result, flags like row major for matrices could be not propagated properly.
7ba0f8f087 Merge pull request #1342 from dj2/roll
171c646474 Roll GLSLang, SPIRV-Tools and SPIRV-Headers.
1ad1662a2b Merge pull request #1339 from KhronosGroup/fix-1338
5e5d1c27ce GLSL: Support f16x2 <-> f32 bitcast.
c58839bfd4 Merge pull request #1336 from KhronosGroup/fix-1333
bf289c37a2 Merge pull request #1337 from KhronosGroup/nonuniform-propagation-fix
bdb343ea06 Be a bit more careful what nonuniform state is propagated.
6b0e558169 Handle RayQueryKHR type.
78b4d9379b Update SPIR-V headers.
b2e934b53f Merge pull request #1328 from devshgraphicsprogramming/patch-1
5cb0f0a640 Merge pull request #1335 from KhronosGroup/fix-1325
127224d816 Fix issue #1327
58548e25a2 Merge pull request #1334 from KhronosGroup/fix-1332
7b9cba7424 HLSL: Add parens in unpackUint2x32 for clarity.
e4e4791c4e HLSL: Only allow 64-bit integers in SM 6.0.
a396744f89 Ensure unpack/pack2x32 tests are compatible with test suite.
55dfbead2f GLSL/HLSL: Support packUint2x32 and unpackUint2x32
f8592ecdfc MSL: Deal correctly with initializers on Private variables.
3fb86e4385 Merge pull request #1331 from KhronosGroup/fix-1321
17ad62eea4 MSL: Support edge case with DX layout in scalar block layout.
f38cbeb814 Merge pull request #1330 from KhronosGroup/fix-1320
ebf463674d MSL: Allow removing clip distance user varyings.
aa5fbc004b Merge pull request #1329 from godlikepanos/master
b3109b8ad0 Reflection: Add specialization constant name
90198199df Merge pull request #1324 from cdavis5e/msl-disabled-builtin-names
96f7008aa8 MSL: Force disabled fragment builtins to have the right name.
fbc560782c Merge pull request #1323 from cdavis5e/msl-disable-frag-only
495e48de44 MSL: Only disable output variables in fragment shaders.
54658d6255 Merge pull request #1319 from cdavis5e/msl-frag-outputs
b29f83c383 MSL: Add options to control emission of fragment outputs.
fcbc590937 Merge pull request #1316 from Malacath-92/master
4560ee24fd Improve compatibility with clang-cl
a1d9b474b5 Merge pull request #1314 from KhronosGroup/fix-1313
c7b75a8fe6 MSL: Do not use base expression with PhysicalTypeID OpCompositeExtract.
6637610b16 Merge pull request #1309 from KhronosGroup/fix-1305
941cceedb4 Expose a query if samplers or images are comparison resources.
b691b7d1e3 Do not add NonWritable/NonReadable decorations for regular images.
14f24d71ab Merge pull request #1308 from KhronosGroup/fix-1306
cfcd84319b Merge pull request #1310 from KhronosGroup/msl-force-declare-implicit-builtins
d9d3359ffb MSL: Deal with cases where builtin is implicitly needed, declared, but unused.
01cee74b02 Merge pull request #1307 from troughton/patch-1
28bf9057df HLSL: Add support for treating NonWritable UAV texture as SRV instead.
4cf736d753 MSL: mark BuiltInFragCoord as implicitly used for subpass reads
e58e8d5dbe Merge pull request #1303 from KhronosGroup/fix-1302
3cb6aeb480 MSL: Fix access chain for deep struct hierarchy on array of buffers.
84ec99c531 Merge pull request #1301 from dj2/roll_deps
32307df73a Roll GLSLang, SPIRV-Tools and SPIRV-Headers
9b3c5e12be Merge pull request #1299 from KhronosGroup/fix-1298
b8905bbd95 Add support for forcefully zero-initialized variables.
871c85d7f0 Merge pull request #1297 from KhronosGroup/fix-1295
04e877df12 GLSL: Implement GL_EXT_shader_framebuffer_fetch.
c2655ab291 Run format_all.sh.
c3d216c011 Merge pull request #1296 from KhronosGroup/fix-1292
05004a57ea GLSL/HLSL: Fix nonuniform qualifier for SSBO atomics.
a3d3c80dd7 GLSL/HLSL: Implement nonuniform qualifier for image atomics.
65aa0c35d6 include/spirv_cross: Fix typo.
7d42fd7f7b Merge pull request #1290 from KhronosGroup/fix-1289
185551bfaf HLSL: Do not emit globallycoherent for SRV ByteAddressBuffer.
d19f30a90e Merge pull request #1287 from KhronosGroup/read-write-decoration-tweaks
95cd20f1c7 Add test for disable-storage-image-qualifier-deduction.
c27e1efbf1 HLSL: Add option to always treat SSBO as UAV, even with readonly.
01968c4486 Add option to disable storage image qualifier deduction.
3ebc83da46 Remove old hack which forces NonWritable/NonReadable.
9deb6ffbba Merge pull request #1285 from KhronosGroup/vulkan-semantics-shorthand
3f2de0d5d3 Add -V alias for --vulkan-semantics.
c5f7b55756 Merge pull request #1284 from KhronosGroup/fix-1282
16796e92be MSL: Add C API for force native arrays.
d91e134500 MSL: Add native array test for composite array initialization.
30343f3e95 MSL: Reintroduce workaround for constant arrays being passed by value.
20b28f72fa MSL: Reinstate workaround for returning arrays.
c9d4f9cd74 MSL: Add a workaround path to force native arrays for everything.
f19fdb94d7 Merge pull request #1283 from dj2/roll
7ec16b64c8 Roll GLSLang, SPIRV-Tools and SPIRV-Headers
dffd33dd9d Merge pull request #1280 from KhronosGroup/fix-1278
92a4294c57 Reject SPIR-V modules with garbage ID bound.
c53b34765d Merge pull request #1277 from KhronosGroup/fix-1276
e81c1b1d98 HLSL: Declare undef variables as static.
7ac5c38838 Merge pull request #1275 from KhronosGroup/fix-1274
cec0502ba5 Remove old memory_scope flag from iOS barriers.
6b2add8e2c Merge pull request #1272 from KhronosGroup/fix-1271
6f5cb00148 Use GNUInstallDirs for include path as well.
cb0aca91ef Merge pull request #1273 from orbea/cmake
8b90526911 cmake: Don't hardcode the pkg-config file.
74544caa16 cmake: Use GNUInstallDirs.
d67c3393da CMake: Avoid warning when parent project uses VERSION in project().
68bf0f824c Merge pull request #1270 from KhronosGroup/fix-1266
dfffbb1cf3 Compile fix on older compilers.
655312cb47 GLSL: Support GL_ARB_enchanced_layouts for XFB.
306cb31bad Merge pull request #1239 from cdavis5e/msl-inline-uniform-blocks
ae6c05f6f4 MSL: Move inline uniform blocks to the end of the argument buffer.
fedbc35315 MSL: Support inline uniform blocks in argument buffers.
f9376058ce Merge pull request #1269 from KhronosGroup/fix-1267
8bbb5fb763 Make SmallVector noexcept.
883de24f79 Merge pull request #1268 from barath121/patch-1
eac76d9473 Typo at line 324
f9818f0804 Update license headers to 2020.
7a411258af Run format_all.sh.
af787a8a79 Merge pull request #1264 from KhronosGroup/msl-argument-buffer-persist
4054d650cf Merge pull request #1263 from KhronosGroup/fix-1232
c3bd136df1 MSL: Add…
warmenhoven added a commit to warmenhoven/RetroArch that referenced this issue Jan 15, 2023
6bba45d2a3 Fix misc compilation issues with std::max.
49e4117c5f Updates for main branch rename.
88c6b49959 Merge pull request #2085 from KhronosGroup/fix-2075
a085227395 Merge pull request #2084 from KhronosGroup/fix-2069
1047c13d40 GLSL: Handle textureGatherOffsets properly.
f84527346d GLSL: Declare gl_in/gl_out as array more robustly.
38cd214007 Merge pull request #2083 from KhronosGroup/pr-2080
d46c10ebd3 Refactor PHI checks into block_is_noop instead.
bcbe33ad11 Also consider NonSemantic ExtInst in block_is_noop.
9d8ef6b36c Update test for updated block_is_noop check.
a61a541e1c Merge branch 'accept_noop' of https://github.com/loic-sharma/SPIRV-Cross into pr-2080
457fd3db70 Add tests for loops compiled with debug semantics.
07a629f149 Roll dependencies.
d69a2cafe5 Accept no ops
cded61dde3 Merge pull request #2076 from billhollings/ios-tier2-writable-images
284ccf5d2d Fixes from code review of adding writable images to iOS Tier2 argument buffers.
0bb28ef88a Merge pull request #2078 from KhronosGroup/fix-2072
549cde7fae Fix GCC5 build.
cc2b3b61a6 Merge pull request #2077 from EpicGames/fixes_glsl
6371580f51 Fixed typo in CompilerGLSL::should_dereference()
643b7be196 MSL: Add support for writable images in iOS Tier2 argument buffers.
a89dea3c49 Merge pull request #2071 from KhronosGroup/fix-2068
baf38f0593 Merge pull request #2070 from KhronosGroup/fix-2066
68a012a4f2 CFG: Handle implied access to opaque loaded values.
03b1f66ef1 GLSL: Fix row-major workaround wrapper for ES.
3c997e12eb Add C API option for enable row major workaround.
c77b09b57c Merge pull request #2063 from KhronosGroup/fix-2060
451ed10e91 Merge pull request #2062 from cdavis5e/msl-spirv-assembly-fixes
df76a14056 MSL: Refactor member reference in terms of one boolean.
e75c496ec6 Fix MSL Access Chain
540a1e82c6 Merge pull request #2056 from cdavis5e/msl-discarded-frag-checks
061cdd2052 MSL: Don't dereference forwarded copies of `OpVariable` pointers.
5547b25afe Interleave undef values with constants and types.
06ef3de002 GLSL, MSL: Handle `OpUndef` as part of a constant composite.
aa5a8c482e MSL: Prevent stores to storage resources in discarded fragments.
51d2dfe02a MSL: Add missing casts to `Op?MulExtended`.
c7ce92a95b MSL: Manually update `BuiltInHelperInvocation` when a fragment is discarded.
edd66a2fc9 Merge pull request #2055 from KhronosGroup/fix-2053
e8a22a7cf6 Handle ShaderDebugInfo non-semantic extension.
abc31207bf Merge pull request #2052 from KhronosGroup/hlsl-mesh-shader-ext
b606e4f752 HLSL: Fix test for non-block per-primitive IO.
ebf779dcfb HLSL: Do not support ClipCull size > 4 in mesh shaders.
94160e8890 GLSL: Add test for mesh with non-block builtin IO.
3a066cd733 HLSL: Handle case where PerVertex block is not used.
f5ef0a74fb HLSL: Make sure to test deeply nested functions in mesh shaders.
e418266d25 HLSL: Some cleanups and fixes in analyze_meshlet_writes.
892f65b3a6 HLSL: Fix some warnings from review.
a4d5c0c4a5 HLSL: Fix-up some style issues from review.
10f55a11eb HLSL: Add missing reference for mesh shader test.
322f1b9fb3 Fixup glslang reference.
80146a20da HLSL: Implement VK_EXT_mesh_shader
744279ec78 Merge pull request #2050 from cdavis5e/op-spec-constant-op-composite-insert
8cf99e7d44 MSL: Implement `CompositeInsert` `OpSpecConstantOp`.
3cecac74c6 Merge pull request #2051 from KhronosGroup/roll-glslang-dep
605bce39d7 Roll glslang dependency.
677299cc56 Merge pull request #2049 from KhronosGroup/fix-2046
4de9d6c2b6 MSL: Handle implicit integer promotion rules.
c813d8d67b Merge pull request #2044 from KhronosGroup/fix-2038
2a49f7e82d MSL: Fix restrict vs __restrict incompatibility.
3ea057a303 Merge pull request #2045 from KhronosGroup/fix-2037
0851baf9ee Merge pull request #2043 from KhronosGroup/fix-2040
47c7fc16eb HLSL: Add option to bind vertex input smemantics by name.
04af769e85 MSL: Handle partial access chains with array-of-UBO/SSBO.
5763919669 Merge pull request #2039 from cdavis5e/raw-buffer-tess-input
e698633e22 MSL: Account for composite types when assigning locations.
0b679334e4 MSL: Don't flatten arrayed per-patch output blocks in tessellation shaders.
a171087180 MSL: Support "raw" buffer input in tessellation evaluation shaders.
f09ba27777 Merge pull request #2035 from KhronosGroup/fix-2032
f15d465a52 Merge pull request #2034 from KhronosGroup/fix-2028
799d8c9e35 Merge pull request #2033 from KhronosGroup/fix-2029
b5386e3ea9 HLSL: Improve support for VertexInfo aux struct.
4ecdb24e59 MSL: Expose way to query if a buffer needs array length.
f3b1375b13 Add reflection support for shader record buffers.
c821207ae2 Merge pull request #2027 from billhollings/msl-opstore-addr-space-cast
0a1127aa50 MSL: Emit correct address space when casting during OpStore.
81ba8f78f6 Merge pull request #2025 from KhronosGroup/fix-2009
291def0793 MSL: Add more keywords to reserved set.
a7f64a8b90 MSL: Report unsupported 64-bit atomics.
ddaa2da629 Merge pull request #2024 from KhronosGroup/msl-descriptor-aliasing
a915e0bd4b MSL: Do not attempt to alias push constants.
adf0995bb9 Merge pull request #2023 from KhronosGroup/msl-descriptor-aliasing
24dc49e692 MSL: Handle descriptor aliasing of raw buffer descriptors.
1ad6006130 Merge pull request #2021 from siegelaaron94/opengles_texture1d_textureSize
7b4c470f16 GLSL: Account for ES sampler1D to sampler2D promotion in textureSize.
6d3518e238 Merge pull request #2018 from atyuwen/master
7afbbb624a Merge pull request #2019 from billhollings/msl-OpPtrEqual-OpPtrNotEqual-OppPtrDiff
5493b3030e MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff.
1b9296e1a5 MSL: only fix up gl_FragCoord if really necessary.
f6ca617825 Merge pull request #2017 from KhronosGroup/roll-deps
a5a7999666 Update mesh/task test references.
d7a6861f64 Update glslang/spirv-tools.
1e7e9fc32b Merge pull request #2015 from FrankXie05/vcpkg-instructions
8553588895 Merge pull request #2014 from cdavis5e/msl-shader-output-fixup
064eaebe72 MSL: Add a mechanism to fix up shader outputs.
d206e54ece Add vcpkg installation instructions
210a800130 Merge pull request #2012 from KhronosGroup/mesh-shaders
4c345166dc GLSL: Implement task shaders.
5762617729 GLSL: Implement GL_EXT_mesh_shader.
6a73e68d30 Update glslang reference.
ec7b9b0ce7 Update SPIR-V headers.
9fcf62784b Merge pull request #2011 from KhronosGroup/roll-deps
d24f41f1d5 Update dependencies.
c93ee9261e Merge pull request #2005 from atyuwen/master
f40dba4919 GLSL: added an option to disable row-major-load workaround.
10f2aa77da Skip remapped vars in 'fixup_reserved_names'
9afa82e7b8 GLSL: disable row major load around on GLES.
33e19e86bf Don't rename remapped variables like 'gl_LastFragDepthARM'
61c603f3ba Merge pull request #1996 from KhronosGroup/fix-1993
bc3987e59a MSL: Fix various bugs with Ptr/U bitcasts.
c084973c67 Merge pull request #1995 from KhronosGroup/fix-1992
05bbcc2d09 Do not optimize OpCompositeInsert for hoisted temporaries.
a725d8fad1 Fix minor style nit from review.
1bc05ef735 Merge branch 'master' of https://github.com/gpx1000/SPIRV-Cross
a9cadd4982 Merged in cts-shared-composite-variables (pull request #1)
fc4a12fd4f MSL: Use a wrapper type for matrices in workgroup storage.
faea931de3 MSL: Also replace `bool` with `short` in structures.
0cccd0a65a Merge pull request #1986 from KhronosGroup/fix-1975
4dfac510ed Handle multiple breaks out of switches.
c24d5a7b90 Merge pull request #1985 from KhronosGroup/fix-1973
8ba0820c9d Merge pull request #1984 from KhronosGroup/fix-1972
095e9e5cee Merge pull request #1982 from RandomShaper/hlsl_subgroup_scan
be904dcc1e Handle collapsed loops similar to collapsed selections.
f7e98c39db Avoid detection of false loop variables.
cb4e310f43 Merge pull request #1983 from KhronosGroup/fix-1979
1fe470b199 HLSL: Implement GroupOperation(Inclusive/Exclusive)Scan.
06ca9accd7 HLSL: Add option to emit entry point name 1:1 instead of main().
d8d051381f Merge pull request #1970 from KhronosGroup/fix-1969
963fdfdf68 Handle PHI in collapsed switch constructs.
f46745095d Merge pull request #1965 from billhollings/msl-physical_storage_buffer
064a697b18 MSL: Fix implicit conversion precision build error.
4185acc70d MSL: Fixes from review for SPV_KHR_physical_storage_buffer extension.
78eb5043f9 MSL: Fixes from review for SPV_KHR_physical_storage_buffer extension.
e6925974d1 Merge pull request #1966 from fred-wang/macos-snprintf
9c44a97faa address more review comments
1310f5ba4d Keep using sprintf on windows.
99f8613847 Fix compilation errors with deprecated sprintf function
ba3e6ffe03 Merge pull request #1964 from sergmister/patch-1
52c7c2dab6 MSL: Add support for SPV_KHR_physical_storage_buffer extension.
1bba4d5137 Fix typo
99b59b3528 Merge pull request #1963 from KhronosGroup/convert-u-to-rtas-fix
e08e0cf28d GLSL: Handle forced temporary OpConvertUToAccelerationStructureKHR.
89b1c24bdc Merge pull request #1961 from RandomShaper/hlsl_more_bitcasts
d8c5e39436 HLSL: Implement bit casts between Half and UShort.
197a273fd4 Merge pull request #1959 from KhronosGroup/fix-1955-1956
df21a99d1a GLSL: Add more extension ladder fallbacks for unusual integer sizes.
a97bbc24c5 Merge pull request #1958 from KhronosGroup/fix-1957
cdafafe93b Merge pull request #1954 from vkaytsanov/patch-1
533aab00b6 GLSL: Add missing KHR barycentric references.
46e4b5a3c8 Fix control flow bug where we missed continue;
612de70b38 Fix missing function in README sample
50b4d5389b Merge pull request #1953 from KhronosGroup/bary-khr
e45d01c41f Emit KHR barycentrics if source enables the KHR extension.
0aedc7d128 Roll dependencies.
af223101c6 Merge pull request #1952 from KhronosGroup/fix-1944
c8ab790163 Merge pull request #1951 from KhronosGroup/fix-1950
88e583d062 GLSL: Add basic support for GL_EXT_shader_atomic_float.
1c88730e12 GLSL: Implement 1D texture emulation for ES.
3f855646f0 Merge pull request #1948 from iwubcode/gl_layer_hlsl
a6976d596a HLSL: fix BuiltInLayer to emit semantic 'SV_RenderTargetArrayIndex' instead of 'SV_RenderTargetIndex'
b3ff97d0fe Merge pull request #1946 from KhronosGroup/fix-1943
48d50fa911 Merge pull request #1945 from KhronosGroup/fix-1938
d08ce828f4 Promote Unreachable cases into break to avoid fallthrough.
4b9e60273c Add tests for OpCompositeInsert edge cases.
23662668dd Attempt more optimal codegen for OpCompositeInsert.
d0c8dc3045 Merge pull request #1942 from KhronosGroup/no-fetch-grad-workaround
a3c4177324 GLSL: Don't apply Grad LOD workarounds for fetch.
bfefb5f511 Merge pull request #1941 from KhronosGroup/fix-1934
832d469048 Merge pull request #1940 from KhronosGroup/fix-1935
05206005ca MSL: Potentially cast loaded Input variables.
92164d38d1 GLSL: Do not analyze precision for Undef variables.
940efca099 Merge pull request #1936 from KhronosGroup/rt-stage-cli
0b303aab16 Add --stage handling for ray tracing.
0c8a79b0b5 Merge pull request #1932 from KhronosGroup/fix-1868
7eb5ced2a0 Refactor out query for operation type/result IDs.
7a6c2da9aa GLSL: Handle more proper semantics for RelaxedPrecision.
d28136cc7a GLSL: Clean up some ways of querying decoration flags.
a9d23d7652 Merge pull request #1931 from EpicGames/fixes_hlsl
65431446f4 HLSL: Add missing BuiltInLayer to HLSL backend.
6ae7ddb92a Merge pull request #1930 from KhronosGroup/fix-1928
960edcd396 Merge pull request #1929 from KhronosGroup/fix-1925
10a7631d50 HLSL: Add more comprehensible reserved identifier list.
40b3053b4c Handle early reads from loop variables with initializers.
c52333b984 Merge pull request #1924 from stefalie/master
ee4ac5c2ce Merge pull request #1927 from billhollings/msl-interface-block-array-length-1
3bca246ad2 MSL: Emit interface block members of array length 1 as arrays instead of scalars.
089cf27119 remove newline at eof
56fd17f552 add qualifiers to reference reflect json output
05c9a14422 cli: display missing memory qualifiers for reflect and dump-resources
d7cae5e7cd Merge pull request #1917 from KhronosGroup/fix-1906
0500f9ed5d Merge pull request #1916 from KhronosGroup/fix-1910
d2a4f9842b GLSL: Support GL_EXT_debug_printf.
5b18fb1bcd MSL: Pass down global RayQuery object to leaf functions.
779138f39f Merge pull request #1914 from RandomShaper/hlsl_view_index
2ea1c9b642 HLSL: Implement ViewIndex.
6a67891418 Merge pull request #1909 from skkkksdkfak/primitive_id
54c00b69a4 Translate gl_PrimitiveID to SV_PrimitiveID.
0d4ce028bf Merge pull request #1903 from KhronosGroup/fix-1900
17c52990d5 MSL: Fix goofy bugs in ray query.
a3996eccf3 Merge pull request #1896 from Roy-AMD/fix-condition-issue
749be80389 Use types have same widths in loop condition.
44691aa975 Merge pull request #1899 from billhollings/forward-volatile-vars-except-builtins
85f98eb0c5 Allow volatile vars that are not builtins to be forwarded.
d000b9e71c Merge pull request #1898 from KhronosGroup/pr-1859
191c57b6cc Merge pull request #1897 from KhronosGroup/fix-1763
a7eefbc114 HLSL: Disable FXC testing for rayquery shaders.
cd209ff46d HLSL: Update test from review.
c95338e03e Merge branch 'ray_query' of https://github.com/k-payl/SPIRV-Cross into pr-1859
7b9eaf0b5e MSL: Handle awkward mix and match of Offset / ArrayStride in constants.
251361bd6f VK_KHR_ray_query implementation
565db34cba Merge pull request #1892 from KhronosGroup/meta-lookup-cleanup
39bad2c1f9 Avoid redundant meta lookups in ParsedIR when setting member decorations.
d5c3bd8b5e Merge pull request #1890 from KhronosGroup/fix-1889
4ab5bbb4e5 Fixup names of anonymous inner structs.
0b51794f01 Merge pull request #1888 from KhronosGroup/msl-ib-variable-name-alias-fix
1ec9d018fd MSL: Handle aliased variable names for resources placed in IB struct.
213c5f42ea MSL: Fix minor nits.
4ec1fb0aa9 Merge pull request #1887 from billhollings/msl-use-var-name-for-flattened-interface-struct-members
0c0fd98322 MSL: Use var name instead of var-type name for flattened interface members.
3915c37bb1 Merge branch 'fixup_gl_helper_invocation' of https://github.com/RandomShaper/SPIRV-Cross
c4f9e4fde9 HLSL: Fix Helper Invocation wrongly allowed in compute.
a1803778c2 Merge pull request #1885 from KhronosGroup/helper-invocation-rework
b192b8887a MSL: Consider that gl_IsHelperInvocation can be Volatile.
15d29f00e2 Add test for SPIR-V 1.6 Volatile HelperInvocation.
93b0dc7718 Consider Volatile in should_forward().
476b6541fa Remove forwardable bit in SPIRVariable.
5d9fc2d903 HLSL: Add test for HelperInvocation.
005c14ad6a HLSL: Implement HelperInvocationEXT.
75224c6c7c Merge branch 'gl_helper_invocation' of https://github.com/RandomShaper/SPIRV-Cross
278a4c80ed HLSL: Add support for gl_HelperInvocation
6c7a40822f Merge pull request #1881 from KhronosGroup/relax-nan-checks
31be74a853 Add relax_nan_checks options.
b91ecf6077 Merge pull request #1880 from KhronosGroup/fix-1879
2ce1e5c140 Merge pull request #1878 from mysterymath/move
dc62cc792b Handle OpTerminateInvocation.
2a7f436135 Merge branch 'msl-add-nested-structs-to-io-blocks-squash'
7b594c125e Fix formatting nits from review.
bb4ced0280 MSL: Document clarification of location incrementing.
02d588b7e4 MSL: Fix var names in test shaders to avoid reserved identifiers.
3bb3b22b34 MSL: Non-functional fixes from PR code review.
3d4daab29d MSL: Support input/output blocks containing nested struct arrays
44c3333a1c Qualify std::move.
d16183d1d2 Merge pull request #1873 from KhronosGroup/fix-1861
02440e85cf Merge pull request #1872 from KhronosGroup/fix-1867
7af0a5f820 HLSL: Do not emit VPOS fixup unless position is active.
5555f2784b MSL: Refactor and fix use of quadgroup vs simdgroup.
a569680406 Merge pull request #1870 from abrachet/master
0eda71c409 Qualify move as std::move
c08ee860c8 Merge pull request #1869 from xndcn/msl
1b5c406a3d MSL: append entry point args to local variable names to avoid conflicts
188dc8b13c Merge pull request #1862 from flokart-world/feature/flatten-ubo-for-hlsl
64e058aa9b Merge pull request #1863 from KhronosGroup/various-fixes
ed4ded040e HLSL: Make --flatten-ubo work correctly
a56b22bf4e Add more scenarios where we can guarantee forward progress.
c716a9a5dd Add debug option to modify maximum number of compile iterations.
29cc18988c Fix regression from adding 64-bit switch support.
339e61a0e0 Do not emit hoisted access chain temporaries unless backend supports it.
5d9a95370f GLSL: Ensure correct signed integer type for more texture functions.
131278458e Merge pull request #1860 from KhronosGroup/docs-update
a8016a6470 Update documentation for descriptor set support in MSL/HLSL.
1a36968e5d [Spirv_msl] Fix normalize on half3/half2 (#1856)
53d94a982e Merge pull request #1852 from KhronosGroup/fix-1850
5a29181b35 Merge pull request #1851 from KhronosGroup/fix-1835
5b952d2cbf MSL: Rethink how opaque descriptors are passed to leaf functions.
ac46140ba3 Test aliased names in declared LUTs.
48b5a9069f Handle aliased names in spec constants.
08d5f5ed18 Merge pull request #1849 from KhronosGroup/fix-1844
9b25581d49 MSL: Handle constant construct of block-like array types.
79b13813c6 Merge pull request #1848 from KhronosGroup/fix-1843
5a5be7f9b9 MSL: Handle signed atomic min/max.
7dd974b9db Merge pull request #1847 from KhronosGroup/fix-1775
e940577fba Merge pull request #1846 from KhronosGroup/fix-1760
1d13a3e36a Rework how loop iteration counts are validated.
ef6bde6580 Do not forward expressions which carry a huge amount of dependencies.
a1bb29ccbb Merge pull request #1845 from KhronosGroup/pr-1842-fix
017cdfe25b Update references for GL_EXT_texture_buffer.
4407c0dd14 fix: GL_EXT_texture_buffer is more common than GL_OES_texture_buffer
fe5a0aa72f Merge pull request #1839 from KhronosGroup/spv1.6
e8b30cc31d Merge pull request #1838 from KhronosGroup/fix-1811
7c12228359 Add sanity test for SPIR-V 1.6 modules.
7c83fc22fa Add support for LocalSizeId.
35bb328443 Test: Add --allow-localsizeid flag for spirv-val.
eadca962c8 Merge pull request #1837 from KhronosGroup/roll-deps
a10d72e3b1 Merge pull request #1834 from chirsz-ever/chirsz/fix-msl-copy-array
fe8848a6f2 Roll dependencies.
9c0b74f73b Merge pull request #1836 from KhronosGroup/pr-1824-fixup
be333e0cab MSL: Move float2->3 TessCoord fixup to a better location.
2793d22af5 Merge branch 'master' of git://github.com/cfnptr/SPIRV-Cross
e0ae55d5e2 Merge pull request #1822 from etra0/add-diff
55a0291ce5 Merge pull request #1817 from etra0/fix-1784
90c252274d MSL: Allow copy array from UniformConstant storage
2acf0e73dd Fix gl_TessCoord arguments presence. Update reference shaders.
a66984072b Fix incorrect MSL gl_TessCoord variable type
2bb051206b test_shaders: Add the option to generate diff instead.
905b8244e7 Clamp vector element access to vector size.
e9cc640334 Merge pull request #1815 from etra0/fix-1768
25868923da Merge pull request #1819 from sindney/master
6d8302ef14 MSL: Add 64 bit switch support
4b0584ce70 ESSL: Vertex shader input doesn't support array types.
37dfb3f45f Merge pull request #1794 from etra0/master
5345051a85 Removed tracking of OpConstant and OpPhi.
7c3cb0b12c Merge pull request #1810 from billhollings/early-frag-tests-depth-out
248e9ae9ed MSL: Don't output depth and stencil values with explicit early fragment tests.
75e3752273 Added block.cases_32bit and reworked the cases fix
401296d3b8 Merge pull request #1808 from billhollings/depth-img-vs-depth-cmp
03f678dec4 Cast the switch selector in GLSL to uint32_t
fd252b21ff Separate (partially) the tracking of depth images from depth compare ops.
48046646ee Fixed wrong condition and formatting.
2e0fb3a778 Merge pull request #1807 from KhronosGroup/fix-1801
f1b411c9e8 GLSL: Deal with buffer_reference_align.
1adc53b107 Merge pull request #1806 from KhronosGroup/fix-1777
21a15b90e5 Merge pull request #1804 from KhronosGroup/fix-1759
2714f5410c CFG: Handle degenerate selection constructs.
e40d19bdbf MSL: Handle non-thread storage class in Modf/Frexp pointer versions.
f1d4aff85e Merge pull request #1805 from KhronosGroup/fix-1776
2c53d30664 Merge pull request #1803 from KhronosGroup/fix-1802
4561ecddbd Handle Modf/Frexp in more cases.
d295c2a046 Merge pull request #1800 from EddeDev/master
849978653a Merge pull request #1798 from billhollings/tess-output-clip
05e8e5a953 Correctly reflect declared buffer size for out of order members.
4dcf64a99b Fixed potential compilation error in spirv_cross_containers.hpp
250a02967d Removed unnecessary tracking of types.
4ebd56bf9e MSL: Correctly emit user(clip/cullN) for clip/cull builtins in tess output struct.
f099d714f3 Removing logic in the parser
04293e03fd Merge pull request #1797 from KhronosGroup/clone-protocol
0d03516382 Always use https protocol when cloning external test deps.
061397e32e Merge pull request #1792 from billhollings/uniform-struct-packing-nested
3eb5532979 Add 64 bit support for OpSwitch
be812c45e5 MSL: Remove over-zealous check for struct packing compatibility.
66adba17a8 Merge pull request #1791 from billhollings/msl-out-of-order-struct-offsets
76cb807c19 MSL: Fix type redirection when struct members are reordered to align with offsets.
29632959d2 Merge pull request #1787 from KhronosGroup/fix-1786
edf247fb1c MSL: Workaround compiler crashes when using threadgroup bool.
43eecb2360 SPIRV-Cross contribution needed for `INTEL_fragment_shader_ordering`
94dea2507e Merge pull request #1769 from audulus/spm2
f5219f47c3 Add Package.swift.
2a56c2bc04 Merge pull request #1783 from billhollings/more-unpacked-vectors
ab640bc3d3 Merge pull request #1782 from KhronosGroup/fix-1781
974a0818b8 MSL: Support more usecases for unpacked vectors.
2b5e17eca5 MSL: Never used templated array for RayQuery objects.
bc338710e1 MSL: Remove some redundant breaks.
5afb3d313f MSL: Fix some trivial bugs not caught by CI when adding ray query.
345a7d171c Merge pull request #1773 from congyue1977/master
2895a43274 Fix unsupported exceptions for ConvertUToAccelerationStructure & BindingTableRecordOffset.
d52ec1e196 Fix all requested changes, test_shaders.py supports compiling MSL 2.4 shaders, and the Intersection Query currently only supports MSL 2.4 on the iOS platform.
6d13c99273 Merge pull request #1780 from billhollings/out-of-bounds-swizzle-fix
595eb0c21d Per spec, support undefined behavior for out-of-bounds swizzles.
597f29d09d Support Metal 2.4 Intersection Query, Implement GL_EXT_ray_query.
e4243b898c Merge pull request #1766 from KhronosGroup/fix-1765
6382f15470 Test behavior around OpSelect with matrices.
6071df5840 Fix wrong detection of trivial_mix_op.
97a438d214 Merge pull request #1757 from KhronosGroup/fix-1754
f72bb3c6f5 Improve handling of INT_MIN/INT64_MIN literals.
457c00bd07 Merge pull request #1756 from KhronosGroup/fix-1753
91c25e8473 Merge pull request #1755 from KhronosGroup/fix-1751
9b2a8c7622 HLSL: Ensure synthetic NumWorkgroups variable is considered active.
bb04156d3c CLI/HLSL: Don't set explicit binding for synthesized NumWorkgroups CBV.
96d95fbb31 MSVC: Workaround crtdbg macroing free().
9462b90067 Merge pull request #1752 from billhollings/function-constants-opquantize
325f107c5b Merge pull request #1745 from billhollings/location-component-vecsize
ec054dad7f MSL: Support synthetic functions in function constants.
dee35bf3ce Merge pull request #1749 from billhollings/fastmath-quantize
ba66a91402 MSL: Use vec<T, n> in template SpvHalfTypeSelector for function spvQuantizeToF16().
a2671e35b0 MSL: Consolidate spvQuantizeToF16() functions into a single template function.
5742047b24 MSL: Honor infinities in OpQuantizeToF16 when compiling using fast-math.
05ac99ae23 Merge pull request #1748 from billhollings/fastmath-nocontraction
fb3defc9ef MSL: Honor DecorationNoContraction when compiling using fast-math.
548a23da34 MSL: Track location component to match vecsize between shader stages.
fe1af2ae72 Merge pull request #1747 from KhronosGroup/ci-fix
d579444a82 Merge pull request #1744 from billhollings/location-attribute-fix
6628e10fc6 Merge pull request #1746 from billhollings/fast-math-per-vulkan
3ca99bbbcc Remove tests for Ubuntu 16.04.
0f12557695 Remove obsolete Travis CI YML.
40141ffddf MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results.
86dfac12c8 MSL: Fix location and component variable matching between shader stages.
b81334a513 Merge pull request #1738 from billhollings/return-value-after-discard-terminator
2a150f5a2f MSL: Add explanatory comment requested in PR review.
35e92e6ffb MSL: Return fragment function value even when last SPIR-V Op is discard (OpKill).
c2500e504d Merge pull request #1735 from billhollings/add-const-op-exprs
472f9d4f6d Add tests for OpSpecConstantOp ops OpQuantizeToF16 and OpSRem.
5fb1ca4f0d Add support for additional ops in OpSpecConstantOp.
51d8e7be94 Merge pull request #1734 from KhronosGroup/buffer-reference-uvec2
b8f1e71907 GLSL: Emit GL_EXT_buffer_reference_uvec2 as required.
d6fe75df10 Merge pull request #1732 from KhronosGroup/fix-1731
23c4480d8e Fix switch fallthrough case in some cases.
0e2880ab99 Merge pull request #1729 from KhronosGroup/fix-1726
2eea6a579b MSL: Consider that function/private variables can be block-like.
840d4483bc Merge pull request #1728 from KhronosGroup/fix-1727
5b0cafb416 Track temporary access for OpArrayLength result.
c062b6b852 Merge pull request #1725 from billhollings/fix-duplicate-glposition
fad1590786 Merge pull request #1722 from billhollings/row-maj-mtx-store-from-const
27e7abeab1 Merge pull request #1724 from billhollings/msl-const-expr-casting
e76fcf9309 MSL: Add test for fixes to MSL constant expression type down-casting.
3105e82b2e MSL: Fix duplicate gl_Position outputs when gl_Position defined but unused.
a75fe07546 MSL: Fix casting in constant expressions with different sizes.
9552ca5473 MSL: Support row-major transpose when storing matrix from constant RHS matrix.
bab4e5911b Merge pull request #1716 from KhronosGroup/terminator-access-fix
cb613eb675 Handle value access in terminators.
1964799fba Merge pull request #1715 from KhronosGroup/precise-fp16-fp64
ac11a91792 GLSL: Emit precise for fp16/fp64 types as well.
cd22336a38 Merge pull request #1712 from cdavis5e/msl-subgroup-ballot-simplify
03ad13bae6 MSL: Simplify spvSubgroupBallot().
18f3cd6810 GLSL: Ensure ray query object decls are flushed if allocated in Function.
e51630595f Merge pull request #1711 from KhronosGroup/fix-1690
5b227cc57c GLSL: Implement GL_EXT_ray_query.
6196e3b029 MSL: Remove redundant path for SampleMask.
2fcbef398c Merge pull request #1709 from billhollings/fix-sample-mask-in
fe08bf4af4 Remove EXPERIMENTAL from JSON reflection backend.
ebb5098def MSL: Adjust gl_SampleMaskIn for sample-shading and/or fixed sample mask.
be3988b13c Merge pull request #1706 from SpaceIm/fix/ios-bundle
a70ce5192e Merge pull request #1708 from KhronosGroup/fix-interpolant-access-chain
71b83a18f4 MSL: Add test for scalar access chain pull interpolant.
d42c0b2e08 Merge pull request #1707 from billhollings/fix-interpolant-access-chain
3e04eee491 MSL: Fix setting SPIRVCrossDecorationInterpolantComponentExpr decoration.
d74eaabde0 fix cross-build to iOS/tvOS/watchOS
1ae2b58f19 Merge pull request #1700 from pkasting/master
bf746bd680 Merge pull request #1699 from KhronosGroup/pervertexnv
7cdab07efe Fix -Wunreachable-code-aggressive.
206ee8f171 GLSL: Support pervertexNV in NV barycentric extension.
c5b8022e61 Merge pull request #1669 from KhronosGroup/1560-reuse1
54882ad16d Add GLSL.std.450.h to REUSE.
3781d49d7c .gitignore ignored new license text
c862f8d22d Actually checkout repo into new reuse job
f2a65545b8 Finish adding SPDX tags and setup a reuse checked in Github Actions CI
2ceca64004 Add missing copyright headers.
853e84e8bf Merge pull request #1698 from KhronosGroup/fix-1691
d6b29ab017 HLSL: Rewrite how block IO is emitted.
9338996f3b Merge pull request #1697 from KhronosGroup/fix-1693
3149095585 Merge pull request #1696 from KhronosGroup/fix-1694
d75666b170 GLSL: Emit num_views for OVR_multiview2.
8216e87f02 Handle SPIR-V 1.4 selection constructs.
9cdeefb5e3 Merge pull request #1692 from Kangz/fix_default_copy_dtor
6a85c695cc Fix IVariant -Wdeprecated-copy-with-dtor
2e1b5fb39e Merge pull request #1686 from KhronosGroup/fix-1684
fa42f1ce34 Merge pull request #1685 from KhronosGroup/fix-1683
449f68ef3b Ensure loop control flow hints only appear above loops.
d62b3c2b92 GLSL: Implement control flow hints.
165dbff228 Handle odd type for textureGather component.
585fc6f3cb MSL: Always enable support for base vertex/index on iOS.
a6ce49ca24 Merge pull request #1680 from xndcn/cc
02fb8f2a24 Add comment after inf/nan float number for clarifying.
ff61890722 Merge pull request #1679 from okuoku/fix-c-sample-code
38c6ef1d56 Fix C sample code in README.md
faec1a8643 Merge pull request #1678 from KhronosGroup/fix-1674
9ea0e8b859 Merge pull request #1677 from KhronosGroup/fix-1673
c87cb54499 MSL: Add CLI option for sampler suffix.
bf3793dd35 MSL: Improve handling of split tessellation access chains.
a6c9514856 Merge pull request #1676 from KhronosGroup/fix-1671
0214990e7c Merge pull request #1675 from KhronosGroup/fix-1670
26a4986009 GLSL: Implement noncoherent framebuffer fetch.
99ae0d32e9 MSL: Handle array with component when we cannot rely on user() attrib.
a64ddcdd49 MSL: Handle array of IO variable with Component decoration.
418542eaef Merge pull request #1668 from KhronosGroup/fix-1665
b8115ffbe0 HLSL: Implement invariant as precise.
e47a30e807 Honor NoContraction qualifier.
0eeaffe048 Merge branch '16-bit-int-types-glsl'
6dbab0df47 Update reference output.
0408c592dd Fixed 16 bit int types
72a2ec4c1b MSL: Fix '--msl-multi-patch-workgroup' out of bounds reads when dispatching more threads than control points (#1662)
995c7981cc Merge pull request #1663 from billhollings/metal-arg-buff-padding-patch
098cdd64f6 MSL: Padding for Metal argument buffers should not double-count SampledImages.
c624d5387c Merge pull request #1660 from KhronosGroup/fix-1658
82a77e534e MSL: Use proper array for quad tess levels.
b38e3b4a47 Merge pull request #1661 from KhronosGroup/fix-1659
0e963c62b6 HLSL: Support Shuffle wave ops.
bbcef69a45 Merge pull request #1657 from KhronosGroup/fix-1607
532f65583e Rewrite how non-uniform qualifiers are handled.
d137abeef5 Merge pull request #1655 from KhronosGroup/fix-1640
8e24e0b224 Merge pull request #1654 from KhronosGroup/fix-1641
71eb1754e3 Merge pull request #1653 from KhronosGroup/fix-1638
2cbc7f0f37 Merge pull request #1652 from KhronosGroup/fix-1644
b084f639cb Merge pull request #1651 from KhronosGroup/fix-1645
c89b5a1a3f GLSL: Support shading rate builtins.
3fd148450a GLSL: Implement gl_FragFullyCoveredNV.
f93a8fb1fe GLSL: Support GL_EXT_shader_image_load_formatted.
90c70e6605 MSL: Handle variable access in OpSelect.
96ba044f01 HLSL: Fix automatic location assignment in block IO.
3cb8e7c223 Merge pull request #1643 from KhronosGroup/fix-1639
ae9ca7d73c MSL: Fix copy of arrays to/from stage IO variables.
986196030d MSL: Don't use native arrays for tess level inputs.
4a379a00f3 MSL: Don't emit native array for masked clip/cull distance.
406af8ff4d c: Add C API for builtin stage IO reflection.
b4a380a04c Support reflecting builtins.
852f2da63c Check SPIR-V 1.4 rules when reflecting resources.
682a227f4b MSL: Make builtin argument type declaration context sensitive.
c1edd35d57 MSL: Use spvUnsafeArray for builtin arrays after all.
7b9a591aa7 MSL: Hoist out to_tesc_invocation_id() in more places.
75ed73818c MSL: Handle loading Clip/CullDistance in TESE.
a159334895 MSL: Correctly analyze if builtin block is active.
cea934c03f MSL: Test that we can capture cull distance to buffer.
5826298697 MSL: Handle CullDistance better.
23da445bd4 MSL: Emit multiple threadgroup slices for multi-patch.
b442500204 MSL: Unroll initializations of CullDistance/ClipDistance control points.
c9946296dd MSL: Fix initialization of masked threadgroup variables.
ee85bb345e Fix print_help comment.
faf80b08fc MSL: Don't report fallback location allocations as being "used".
adc5fe3615 C: Add C api for stage output masking.
5e9c2d060e MSL: Cleanup fallback IO block emission.
e32c474911 MSL: Handle masking of TESC IO block members.
dc54f75eec MSL: Fixup gl_PerVertex names if we're emitting masked builtins.
40f628f49c MSL: Add test for complex control point outputs.
46c48ee6b5 MSL: Rewrite how IO blocks are emitted in multi-patch mode.
425e968720 MSL: Handle flattening of patch block outputs as well.
8e2dbe0d38 MSL: Do not declare patch variables on stack.
ff3f5bcba5 MSL: Handle masking of builtin control points.
6ecdd64a91 MSL: Emit a masked builtin IO block if necessary.
436b1250da MSL: Do not perform scalar fixups for control-point outputs.
22c9b63e78 MSL: Fix argument_decl check for builtin.
c635c35c12 MSL: Temporarily allow empty output struct.
a59e25db18 MSL: Small refactors.
74b2acab9b MSL: Always emit block variable for block types.
ae7bb41ef4 MSL: Test that we can mask location writes in TESC.
3255d6cef0 MSL: Explicitly only consider masked variables to be thread-group-like.
ba93b6518d MSL: Fix masking of vertex block outputs.
a393de31e6 MSL: Refactor out variable/block member masking.
857295a9ab MSL: Add tests for masking with --for-tess.
43b6ea2c9a MSL: Remove position mask tests. They will fail compilation.
e7b37392bf MSL: Emit correct address space for masked arguments.
65b5ff7ece MSL: Don't emit weird reference type for spvUnsafeArray types.
e7824c8b6e MSL: Handle masked outputs in extract_global_variables.
50a6bc058a MSL: Force builtin arrays for builtin array types.
88b54f5dab MSL: Add tests for vertex output masking.
394c038bfd MSL: Do not consider effective storage for any composite.
04988b89b9 MSL: Handle effective storage for masked CP outputs.
f2b5fb3f45 MSL: Emit threadgroup storage class for masked control point outputs.
ea91579a7f MSL: Do not redirect tess access chains on masked outputs.
9c1cadd440 Add --mask-stage-output-* CLI options.
f682e89188 MSL: Correctly emit array type for masked outputs.
2a2d57df13 MSL: Sketch out API to aid LTO-style optimization.
9a144bb2b9 Clean up member sorting.
0997e81118 MSL: Sort builtin IO block members by builtin type.
b4aa6dacfa MSVC: Add /bigobj for debug builds.
45818c14e4 Merge pull request #1648 from billhollings/msl-pad-arg-buff-structs
b3bfe22eaa MSL: Fixes to support padding Metal argument buffer entries based on argument index.
daba0dfba6 MSL: Fixes to support padding Metal argument buffer entries based on argument index.
9060e5a13c MSL: Fixes to support padding Metal argument buffer entries based on argument index.
9866cf4496 MSL: Fixes to support padding Metal argument buffer entries based on argument index.
6c0e11f907 Merge branch 'master' of https://github.com/billhollings/SPIRV-Cross into msl-pad-arg-buff-structs
582749ac68 Merge pull request #1650 from Dredhog/active-builtins-c-api
edde535574 c: Remove SPVC_PUBLIC_API prefix from API implementation
215f31b33f c: Add missing API to query active builtins.
17dab614dc MSL: Support padding Metal argument buffer entries based on argument index.
d2e1e7ba98 Fix Github CI in PRs.
28ae7b8f35 Merge pull request #1642 from mehmetoguzderin/msl-long-ulong-member
e2f7a753d2 Move condition to default block
0a0c9db9be MSL: Support long ulong types in buffers in 2.3+.
84d1f8aa2a Use Github actions CI tag.
2e000a0be4 Add GitHub Actions script.
60aa24566e Merge pull request #1633 from KhronosGroup/fix-1626
ee31e84e30 GLSL: Handle complex load/store scenarios to gl_SampleMask.
fb1f295aaf Merge pull request #1635 from KhronosGroup/fix-1627
5d846acee5 Merge pull request #1634 from KhronosGroup/fix-1625
0ac70fa7ca Merge pull request #1632 from KhronosGroup/fix-1629
4ca06c7278 Handle edge cases in OpCopyMemory.
aea6d29aa8 MSL: Add test for logical subgroup arith ops.
d6c2c1b39a HLSL: Support logical subgroup ops.
5570043af3 GLSL: Add support for Logical subgroup ops.
bc4cb1b3c5 Throw if SPIR-V module has no entry points.
d57ab68a21 Merge pull request #1630 from KhronosGroup/fix-1628
97796e0609 MSL: Deal with pointer-to-pointer qualifier ordering.
621884d709 Merge pull request #1622 from KhronosGroup/fix-1619
da238e5f12 Merge pull request #1623 from phuang/patch-2
c66a571057 Add two missing source files
b1e36a1f78 Merge pull request #1621 from KhronosGroup/fix-1618
85704f70bc MSL: Handle load and store to TessLevel array in TESC.
ce552f4f91 MSL: Gracefully assign automatic input locations to builtin attributes.
aa271c1460 MSL: Refactor out location consumption count computation.
6f1f6775f3 Add comment where aux image atomic buffers are reflected from.
92d379bab4 Merge pull request #1620 from phuang/patch-1
bc3416a18f Fix build errors on Windows
bae17e8204 Merge pull request #1617 from KhronosGroup/fix-1608
5789e3eed9 Merge pull request #1616 from KhronosGroup/fix-1609
daddbd4078 MSL: Fixup type when using tessellation levels in TESC functions.
0ad12a0036 MSL: Always return [[position]] when required.
05a1a07f70 Merge pull request #1615 from KhronosGroup/fix-1612
09dc76f68a c: Add missing IOS_SUPPORT_BASE_VERTEX_INSTANCE option.
8f5ab50fb8 Merge pull request #1614 from KhronosGroup/fix-1610
21a931613e HLSL: Add vector to illegal names list.
4741bbaa64 Merge pull request #1606 from billhollings/position-invariance
8e03cb60a5 Expose position invariance.
84a41cd488 Merge pull request #1603 from KhronosGroup/small-improvements
ea02a0c03a Check entry point variables in is_hidden_variables.
4bedad3860 Handle nonuniformEXT qualifier for acceleration structures.
7ab3f3f74e Deal better with CompositeExtract from constant composite.
66fb0bd9df GLSL: Handle tracing against incoming payload/callable.
9acb9ec31f Merge pull request #1594 from KhronosGroup/fix-1591
a5eaf2f44a Merge pull request #1595 from KhronosGroup/copyright-update
4704482bbc meta: Update copyright headers to 2021.
4c866e4662 Fix pathological complexity explosion for certain shaders.
820179bf46 Merge pull request #1590 from KhronosGroup/fix-1584
2097c30985 GLSL: Support both SPV_KHR_ray_tracing and NV_ray_tracing.
702c903f98 Merge pull request #1589 from KhronosGroup/roll-deps
ce18d1b8a5 CLI: Fix silly regression with handling of -V.
5d82d32e0f Roll dependencies.
0e5078dc0c Merge pull request #1588 from KhronosGroup/fix-1582
893a011299 MSL: Fix various bugs with framebuffer fetch on macOS and argument buffers.
3136e34215 MSL: Always use input_attachment_index for framebuffer fetch binding.
134a520034 Merge pull request #1587 from KhronosGroup/refactor-active-variable-consideration
03ee71e86c Add test for pure initializer gl_FragDepth.
3776d8978c GLSL: Force block declaration if clip/cull is used in tesc.
014b3bc5ea MSL: Make sure initialized output builtins are considered active.
a4a9b53b5b MSL: Always enable Outputs in vertex stages.
fa76d01203 MSL: Only consider builtin variables if they are part of IO interface.
c8837d7d80 MSL: Very slight refactor.
234c65c0f3 Merge pull request #1585 from KhronosGroup/fix-1569
72e9f619a9 Merge pull request #1583 from KhronosGroup/fix-1567
42ec132357 Merge pull request #1581 from KhronosGroup/fix-1554
c033a93951 GLSL: Fix -Wshadow error.
1a28a04333 GLSL: Update SPIR-V headers for modified ray tracing opcodes.
02b7f9cbe9 CLI: Add stdin support.
efed4c9738 MSL: Fix initializer for tess level outputs.
ab9200ffdf MSL: Don't flatten builtin arrays unless they're part of IO interface.
df4f8ef8fe MSL: Emit correct initializer for tessellation control points.
ad3e1584f9 MSL: Handle initializers for tess levels.
39fee93906 GLSL: Refactor out Output variable initialization.
6a3ea0385e GLSL: Add test for initializing tess level output.
175381fe08 GLSL: Handle some extreme edge cases in Output variable initialization.
7b7a21c405 Merge pull request #1578 from KhronosGroup/fix-1568
1a38fec382 Minor redundant nit.
a1c784f002 More robust handling of initialized output builtin variables.
9a304fe931 Handle output IO block initializers more robustly.
49ab12919c Merge pull request #1577 from KhronosGroup/fix-1574
3514c9ff33 Merge pull request #1576 from KhronosGroup/fix-1571
3a85d1c80c CMake: Disable compiler extensions explicitly.
ddb3c65648 Handle reserved identifiers for functions.
c4ff129fe3 MSL: Handle reserved identifiers for entry point.
e50f7d1ce8 Merge pull request #1566 from KhronosGroup/subgroup-table-fix
c8765a75f2 GLSL: Fix KHR subgroup extension table for subgroups.
762c3082ae Merge pull request #1564 from KhronosGroup/fix-1558
1eb42eb18c Merge pull request #1563 from KhronosGroup/fix-1559
a11c4780d0 GLSL: Emit nonuniformEXT in correct place for late-combined samplers.
dc940846d7 GLSL/HLSL: Disallow VariablePointers capability outright.
6d10da0224 Merge pull request #1553 from comex/no-subgroups-in-vertex-shaders
f41b59b36e Merge pull request #1557 from KhronosGroup/mit-dual-license-api
cf1e9e0643 Add MIT dual license for the SPIRV-Cross API.
0b79db773f Merge branch 'master' of git://github.com/js6i/SPIRV-Cross
c09a65c12d MSL: Added fmin3 and fmax3 library functions to the illegal name list.
5a85fa9400 msl: Don't try to use [[thread_index_in_simdgroup]] in vertex shaders.
be527632a6 Merge branch 'unused' of git://github.com/comex/SPIRV-Cross
c80cbde7aa spirv_msl: Don't add fixup hooks for builtin variables if they're unused.
3d16060c32 Merge pull request #1551 from cdavis5e/msl-subgroup-inactive-ballot-mask
1e67b21ee9 MSL: Don't mask off inactive bits in ballot masks.
1f178be3c9 Merge branch 'msl-sample-rate-position' of git://github.com/cdavis5e/SPIRV-Cross
fd738e3387 MSL: Adjust FragCoord for sample-rate shading.
782916a797 Merge pull request #1549 from KhronosGroup/various-fixes
e07f0a9df5 GLSL: Fix buffer_reference with aliased names.
c5826b4b69 GLSL: Emit storage qualifiers for buffer_reference.
650b5e1b12 HLSL: Fix validation with FXC for test.
6a614cc7f7 Normalize all internal workaround methods to use spv prefix.
35d3b9c3e7 Merge branch 'msl-subgroup-ops-2' of git://github.com/cdavis5e/SPIRV-Cross
dabdf4eff6 Merge pull request #1547 from scribam/cmake-minimum-required
1eb4852856 CMake: Set minimum required version to 3.0
68908355a9 MSL: Expand subgroup support.
58291963c6 Merge branch 'glsl-vertex-attrib-64bit' of git://github.com/rdb/SPIRV-Cross
df5e3730ca GLSL: Require GL_ARB_vertex_attrib_64bit for double input in pre-4.10
b3c59263a0 Merge pull request #1541 from cdavis5e/msl-ios-features
88e25e60ec MSL: Expose some more features on iOS.
1ee2d13873 MSL: Add missing reference file.
ef0256c23e Fix switch fallthrough
0d6fad4ab9 Merge branch 'extract_subgroup_ops' of git://github.com/js6i/SPIRV-Cross
9c2c0a23b9 Merge pull request #1533 from rdb/texture-fetch-size-fallbacks
10fa5f62aa GLSL: Legacy / extension fallbacks for textureSize and texelFetch
f0239bce05 MSL: extract global variables from subgroup ballot operations
6fc2a0581a Run format_all.sh.
71fcf0d9e6 Update texture gather test result.
008f3baad7 Merge branch 'arb-texture-gather' of git://github.com/rdb/SPIRV-Cross
46bf1e99d6 Merge pull request #1525 from cdavis5e/msl-interpolation-functions
509908d8db GLSL: Add error checking and extension fallback for textureGather
683c3f5c3f Merge pull request #1530 from rdb/legacy-glsl-round
ea334c14bc Merge pull request #1527 from rdb/legacy-transpose
2417010046 Merge pull request #1528 from rdb/fix-legacy-vertex-shader-lod
1648747fa7 Merge pull request #1529 from KhronosGroup/fix-msl-gather-regression
b3bd674aa7 GLSL: Remove unused `lod` argument from legacy_tex_op()
bf71994dae GLSL: implement transpose() in GLSL 1.10 / ES 1.00
9e6e5d2738 GLSL: Fix round/roundEven for legacy GLSL.
e8c500ceef GLSL: Fix support for textureLod in legacy vertex shaders
db13762297 MSL: Fix regression in image gather handling.
aca9b6879a MSL: Support pull-model interpolation on MSL 2.3+.
a20c768698 Merge pull request #1524 from rdb/hlsl-round-even
854f566869 HLSL: Support roundEven() in HLSL SM 4.0 and above
2e1bdeb212 Merge pull request #1520 from rdb/dx9-dref-samplers
135933d59e HLSL: Add regression test for SM3.0 texture samplers
18893ba3b9 HLSL: Support depth comparison texture sampling in SM 2/3.
fc644b50e6 Merge pull request #1523 from KhronosGroup/fix-1512
512e851185 Merge pull request #1522 from KhronosGroup/fix-1510
b3344174f7 HLSL: Add option to flatten matrix vertex input semantics.
1f018b0fb8 Parser: Don't assume OpTypePointer will always take a SPIRType.
244839d350 Merge pull request #1516 from billhollings/VK_EXT_descriptor_indexing
4bdd49df3f Syntax and format updates from code review.
c5a3f37a1c Merge pull request #1519 from cdavis5e/msl-mac-comparison-bias-grad
dcd66c283c Merge pull request #1521 from devshgraphicsprogramming/master
6402586015 Updated ref file for subgroups_basicvoteballot.vk.comp
9a1af25f02 Merge pull request #2 from KhronosGroup/master
6c5f394b09 Fix some bad assumptions about emulating `subgroupBarrier`
7f67abe0fe Minor format and typo updates from code review.
547c29f7bb MSL: Allow Bias and Grad arguments with comparison on Mac in MSL 2.3.
8884b34940 Merge pull request #1517 from atyuwen/master
303f813166 Merge pull request #1518 from KhronosGroup/fix-nonuniform-bracket-handling
439b666829 GLSL: Fix nonuniformEXT injection.
871a023877 fixed compile error with -std=c++20
541a801fed Merge pull request #1514 from cdavis5e/msl-mac-framebuffer-fetch
c8a43876c7 added metal keyworld: "level" (#1501)
b7b0e804e5 MSL: Support run-time sized image and sampler arrays (GL_EXT_nonuniform_qualifier/SPV_EXT_descriptor_indexing).
c20d5945a2 MSL: Allow framebuffer fetch on Mac in MSL 2.3.
78c6d2d628 Merge pull request #1509 from cdavis5e/mac-post-depth-coverage
08e49bfd67 Merge pull request #1508 from KhronosGroup/fix-1507
346b0b6c21 Merge pull request #1493 from KhronosGroup/ubo-row-major-load-workaround
d48d2a95c7 MSL: Allow post-depth coverage on Mac in MSL 2.3.
542d460364 Handle case where block is loop header, continue AND break block.
e47561a28b GLSL: Support a workaround for loading row-major matrices.
5ae9153a78 Merge pull request #1505 from cdavis5e/msl-vertex-writes
1b6b9705e6 MSL: For 2.1+, don't disable rasterization for vertex writes.
1a95017d11 Merge pull request #1503 from KhronosGroup/travis-python-update
b3a74f3a22 Merge pull request #1504 from KhronosGroup/fix-1502
f65f259ab7 MSL: Do not use component::x gather for depth2d textures.
1d68cbfb1b Update TravisCI python reference.
dd35821f2f Merge pull request #1499 from cdavis5e/subgroup-fixes
1264e2705e MSL: Cast broadcast booleans to ushort.
065b5bda3c MSL: Mask ballots passed to Ballot bit ops.
781367d083 MSL: Support vectors with OpGroupNonUniformAllEqual.
6ccb902462 MSL: Correct definitions of subgroup ballot mask variables.
a57b4b1b2e Merge pull request #1498 from cdavis5e/msl-swizzle-arrayed-nonconstant
064ed448b9 MSL: Don't remove periods from swizzle buffer index exprs.
7b80307a7d Merge pull request #1495 from cdavis5e/1d-2d-offset-grad
5845e009ea MSL: Handle Offset and Grad operands for 1D-as-2D textures.
0db1569e97 Merge pull request #1492 from KhronosGroup/non-native-matrix-fix
9c220a8247 Merge pull request #1490 from KhronosGroup/fix-1488
23a0cfc842 Merge pull request #1494 from cdavis5e/msl-tesc-tess-level-cast
3e6010d8c5 MSL: Don't use a bitcast for tessellation levels in tesc shaders.
120af42616 GLSL: Use need_transpose when checking for non-native matrix.
bd1ee4344e MSL: Support querying and modifying generated combined sampler suffix.
7332b44c3c Merge pull request #1489 from cdavis5e/msl-fix-atomic-image-coord
21d38f74ce MSL: Fix calculation of atomic image buffer address.
e827a06984 Merge pull request #1487 from cdavis5e/msl-atomic-image-interlock
7a5d0d6b29 MSL: Add missing interlock handling to atomic image buffers.
fab6ad234e Merge pull request #1486 from cdavis5e/atomic-image-argument-buffer
cc7aabce72 Merge pull request #1485 from cdavis5e/msl23-demote-to-helper
9cafea6cf8 MSL: Support atomic access to images from argument buffers.
2219c4a392 MSL: Support SPV_EXT_demote_to_helper_invocation for MSL 2.3.
401af49326 Merge pull request #1482 from KhronosGroup/gl-subgroup-merge
5619329665 Style nits for GL subgroup implementation.
a6f6547cf1 Add missing VK variant of the test file.
28994a3186 Update GL subgroup test file.
819c599ecd Merge branch 'issues1350-2' of git://github.com/devshgraphicsprogramming/SPIRV-Cross into master
db52e277b9 Resolved issues 1350, 1351, 1352
5cc2e4f634 Merge pull request #1475 from KhronosGroup/fix-1474
e0c9aad934 GLSL: Add support for transform_feedback3 geometry streams.
7a99d1cb72 GLSL: Use literal array size for cull/clip array sizes.
e6f5ce6b89 Merge pull request #1471 from KhronosGroup/fix-1467
6254be910e Merge pull request #1470 from KhronosGroup/fix-1469
34a6a45fba Work around MSVC warning.
5ea576ece2 Allow flip_vert_y in all relevant stages.
ea3cd74426 Merge pull request #1468 from dj2/roll-09-22
9880b05572 Roll dependencies.
8891bd3512 Merge pull request #1466 from KhronosGroup/fix-1465
2144274a91 Clean up conditional branch codegen.
54cc0b01f6 Deal with case where a selection construct conditionally merges/breaks.
16d9fea77c Merge pull request #1463 from KhronosGroup/fix-1462
66afe8c499 Implement a simple evaluator of specialization constants.
bdbef7b1f3 Merge pull request #1461 from Kangz/fix-warnings
bcd71536e2 Fix -Wduplicate-enum and -Wrange-for-analysis.
ba2d0e17d3 Merge pull request #1460 from KhronosGroup/fix-1458
446596643a Roll glslang/SPIRV-Tools deps.
18d03b3ea6 Handle OpUndef %void.
bad9dab8df Merge pull request #1457 from cdavis5e/msl-layered-subpass-data
4cf840ee7b MSL: Support layered input attachments.
c7507e39d4 Merge pull request #1456 from KhronosGroup/fix-1455
3360daa6f3 MSL: Fix OpCompositeInsert and OpVectorInsertDynamic.
9e3dbdc8d6 Merge pull request #1454 from cdavis5e/msl-multiview-non-layered
cab7335e64 MSL: Don't set the layer for multiview if the device doesn't support it.
4752a44f9e Merge pull request #1453 from cdavis5e/msl-multiview-base-instance
53080ecca8 MSL: Fix multiview view index calculation with a non-zero base instance.
685f86471e Merge pull request #1452 from KhronosGroup/minor-nits
95993f78af Run format_all.sh.
ee1b4e7042 Work around annoying warning on GCC 10.2.
eec76b04c7 Merge pull request #1450 from KhronosGroup/fix-1440
a07441568e Overhaul how we deal with reserved identifiers.
f0fe4442e3 Merge pull request #1448 from KhronosGroup/fix-1437
4f0f0e5a07 Merge pull request #1449 from KhronosGroup/fix-1443
fdbc80d131 HLSL: Fix FragCoord.w.
fad36a6b28 HLSL: Deal with partially filled 16-byte word in cbuffers.
dd1f53ff15 HLSL: Fix bug in is_packing_standard for cbuffer.
4c7944bb42 Merge pull request #1446 from kakashidinho/master
ab8eb70af1 Fix #1445: MSL: Enclose args when convert distance(a,b) to abs(a-b)
82d1c43e40 Merge pull request #1441 from cdavis5e/msl-tesc-composite-out
3347b1076d MSL: Fix handling of matrices and structs in the output control point array.
c333445ada Merge pull request #1436 from KhronosGroup/fix-1408
8a1843ab20 Add some test cases for complex type aliasing scenario.
eb580d6656 Ensure that we use primary alias type when emitting flattened members.
aac6885950 GLSL: Be more aggressive about using type_alias.
038b0bf238 Only rewrite type aliases for the base type.
7778792aec Merge pull request #1434 from KhronosGroup/glsl-force-flattened-io
57c93d44ac GLSL: Add option to force flattening IO blocks.
f5e9f4a172 Merge pull request #1432 from ponitka/hlsl-sample-mask
ba58f78395 Adding BuiltInSampleMask in HLSL
0376576d2d Merge pull request #1429 from ponitka/master
18f23c47d9 Enabling setting a fixed sampleMask in Metal fragment shaders.
934825a6a2 Merge pull request #1294 from cdavis5e/msl-multi-patch-workgroup
688c5fcbda MSL: Add support for processing more than one patch per workgroup.
3dcc23a5b3 Merge pull request #1431 from dj2/roll-07-22
ac08a89cf0 Merge pull request #1430 from cdavis5e/msl-refactoring
c4f3d4ae29 Roll GLSLang, SPIRV-Headers and SPIRV-Tools.
884bc6df65 MSL: Factor creating a uint type into its own method.
5e13f7fdf2 MSL: Factor a really gnarly condition into its own method.
6575e451f5 Merge pull request #1423 from KhronosGroup/msvc-2013-fix
36c999ae3f MSVC 2013: Fix silently broken builds.
39ce5b46de Merge pull request #1421 from troughton/patch-3
b74a84e4cb MSL: Ensure OpStore source operands are marked for inclusion in function arguments
559b21c6c9 Merge pull request #1420 from dj2/roll-07-06
63fbdaca93 Roll deps.
3b366db7f1 Merge pull request #1416 from KhronosGroup/fix-1415
711300baed MSL: Do not emit swizzled writes in packing fixups.
fa5b206d97 MSL: Workaround broken vector -> scalar access chain in MSL.
fab75792a9 Merge pull request #1419 from KhronosGroup/msl-input-attachment-index-fallback
e1600d4df8 MSL: Use input attachment index directly for resource index fallback.
c465cd5004 Merge pull request #1417 from KhronosGroup/fix-351
2ac8f51b06 GLSL: Support I/O flattening with arrays as final type.
2d43103a55 GLSL: Support multi-level struct flattening for I/O.
d573a95a9c Run format_all.sh.
8f716947c2 test: Use --hlsl-dx9-compatible when attempting to compile SM 3.0 shaders.
2894b40868 Merge pull request #1412 from KhronosGroup/fix-1411
70f17142de GLSL: Fix nested legacy switch workarounds.
b1082c10af Merge pull request #1410 from KhronosGroup/fix-1406
42096ca4a1 Merge pull request #1409 from KhronosGroup/fix-1405
4d79d634f5 GLSL: Implement switch on ESSL 1.0.
bae76d7915 GLSL: Use for-loop fallback instead of do/while for legacy ESSL.
3afbfdb090 Implement context-sensitive expression read tracking.
05188aca69 Fix bug with control dependent expression tracking.
2e7a562583 Merge pull request #1404 from KhronosGroup/fix-1402
eb0f0323d3 HLSL: Workaround FXC bugs with degenerate switch blocks.
f9ae06512e Merge pull request #1401 from dj2/roll-deps-22
9eb615c63b Merge pull request #1400 from KhronosGroup/fix-1399
0abc017501 Roll deps and update tests.
f9da366ae6 MSL: Remove the old VertexAttr API.
7edaea87cf Merge pull request #1398 from Kangz/fix-deprecation
6add77aa97 Merge pull request #1397 from KhronosGroup/fix-1396
8aee532f56 Fix placement of SPIRV_CROSS_DEPRECATED.
f141521ebe Fix duplicated initialization for loop variables with initializers.
d7976b7b24 Merge pull request #1395 from KhronosGroup/fix-1394
ace4d25222 MSL: Add test case for constructing struct with non-value-type array.
7314f51a32 MSL: Deal with loading non-value-type arrays.
02db4c1f16 MSL: Add tests for array copies in and out of buffers.
03d4bcea68 MSL: Improve handling of array types in buffer objects.
11832b6e14 Clean up some deprecation warnings when building with Makefile.
5e509b159a Remove unused member in MSLShaderInput.
a64484f62b Merge pull request #1392 from cdavis5e/msl-frag-input-vecsize
5281d9997e MSL: Fix up input variables' vector lengths in all stages.
7073ed2edb Merge pull request #1393 from KhronosGroup/fix-1391
d13dc0ce47 HLSL: Fix texProj in legacy HLSL.
9e3df69d4e Merge pull request #1390 from rdb/master
031cbaa5a2 GLSL: Require GL_ARB_draw_instanced for gl_InstanceID in GLSL < 1.40
92fcd7d2b0 Merge pull request #1389 from KhronosGroup/sparse-clamp
f383cc98f2 GLSL: Handle the rest of GL_ARB_sparse_texture_clamp.
bbefea2b02 Merge pull request #1388 from KhronosGroup/uint-sparse-residency-query
857e1c445c GLSL: Support uint code for sparse residency query.
553a7f959b Merge pull request #1385 from KhronosGroup/fix-1237
cbe0cca73b Refactor texture fetch function generation.
b73c047faf Merge pull request #1387 from Lichtso/master
1f5875e23e Fix missing switch cases in Y'CbCr conversion
3ce81c0025 Merge pull request #1384 from KhronosGroup/fix-1380
757c10bbe4 Merge pull request #1383 from KhronosGroup/fix-1381
275974e062 GLSL: Implement sparse feedback.
6600793884 MSL: Remove obsolete MSLVertexAttr members.
2d5200650a HLSL: Add native support for 16-bit types.
d385bf096f Merge pull request #1378 from bbernhar/issue_410
32bead81c8 Prefer set/binding API
999a7b5256 Merge pull request #1379 from KhronosGroup/fix-1377
165392a2b0 Document all CLI options.
d31bc0247e Do not mask writes to remapped variables in all cases.
17bccc9f7e HLSL: Add option to treat certain SSBO bindings as UAV, even with readonly.
61cddd6307 Merge pull request #1376 from KhronosGroup/fix-1374
58dad82fcb Handle physical pointers in reflection API.
f992548434 Merge pull request #1372 from KhronosGroup/gl-draw-parameters
ef247e75ec GLSL: Improve support for GL_ARB_shader_draw_parameters in desktop GLSL.
ec558bc98e Merge pull request #1371 from dj2/roll-deps-21
3d01d1bf50 Roll SPIRV-Tools, SPIRV-Headers and GLSLang.
287e93ff80 Merge pull request #1370 from dj2/roll_deps_20
29ad40e93e Merge pull request #1369 from KhronosGroup/more-rt-tests
8bf916f575 Roll dependencies
b4dd0b6fb1 GLSL: Add more test shaders for hit attribute types.
66ec3e3e54 GLSL: Support ray payloads and hit attributes declared as Block.
271ad33380 GLSL: Add some more focused RT test shaders.
3c43f055df Merge pull request #1366 from KhronosGroup/fix-1365
f3a362b1aa HLSL: Implement image queries for UAV images.
d638d2df9c Merge pull request #1363 from KhronosGroup/rt-gl-instance-id
86380acf4d Support gl_InstanceID in RT shaders.
b7823ec389 Merge pull request #1361 from KhronosGroup/msl-single-element-array-refinement
107ab7c2b7 MSL: Avoid packed arrays in more cases.
de3698f0e0 Add missing reference files from PR merge.
b8ba89a1ac Merge branch 'master' of git://github.com/kakashidinho/SPIRV-Cross
9ddfe6db6d Fix #1359: MSL: If the packed type is scalar, don't emit "pack_" prefix.
92f7d36c72 Merge pull request #1356 from KhronosGroup/fix-1354
0ebb88cc39 MSL: Redirect member indices when buffer has been sorted by Offset.
137dbeb7f1 Merge pull request #1355 from Kangz/fix-microsoft-enum-value
a3a590a82e Fix -Wmicrosoft-enum-value
7e0295abf8 Merge pull request #1353 from zoddicus/updateSPIRVHeaders
76658247ac Update SPIR-V Headers to 1.5 rev 3
471990d4dc Merge pull request #1349 from KhronosGroup/fix-1348
35a9b793d6 Work around odd deadlock in test_shaders.py in --parallel mode.
d7d630a0b7 Merge pull request #1347 from KhronosGroup/fix-1343
4330b046be Merge pull request #1346 from KhronosGroup/fix-1340
9b7140e2ba Implement OpAtomicLoad/OpAtomicStore.
cbaaa02af9 Merge pull request #1345 from apayen/master
6ef47d6657 MSL: Fix case where subpassInput is passed to leaf functions.
4edfe96739 Fixed recursion in combined_decoration_for_member Members in nested structs were not properly iterated on, and as a result, flags like row major for matrices could be not propagated properly.
7ba0f8f087 Merge pull request #1342 from dj2/roll
171c646474 Roll GLSLang, SPIRV-Tools and SPIRV-Headers.
1ad1662a2b Merge pull request #1339 from KhronosGroup/fix-1338
5e5d1c27ce GLSL: Support f16x2 <-> f32 bitcast.
c58839bfd4 Merge pull request #1336 from KhronosGroup/fix-1333
bf289c37a2 Merge pull request #1337 from KhronosGroup/nonuniform-propagation-fix
bdb343ea06 Be a bit more careful what nonuniform state is propagated.
6b0e558169 Handle RayQueryKHR type.
78b4d9379b Update SPIR-V headers.
b2e934b53f Merge pull request #1328 from devshgraphicsprogramming/patch-1
5cb0f0a640 Merge pull request #1335 from KhronosGroup/fix-1325
127224d816 Fix issue #1327
58548e25a2 Merge pull request #1334 from KhronosGroup/fix-1332
7b9cba7424 HLSL: Add parens in unpackUint2x32 for clarity.
e4e4791c4e HLSL: Only allow 64-bit integers in SM 6.0.
a396744f89 Ensure unpack/pack2x32 tests are compatible with test suite.
55dfbead2f GLSL/HLSL: Support packUint2x32 and unpackUint2x32
f8592ecdfc MSL: Deal correctly with initializers on Private variables.
3fb86e4385 Merge pull request #1331 from KhronosGroup/fix-1321
17ad62eea4 MSL: Support edge case with DX layout in scalar block layout.
f38cbeb814 Merge pull request #1330 from KhronosGroup/fix-1320
ebf463674d MSL: Allow removing clip distance user varyings.
aa5fbc004b Merge pull request #1329 from godlikepanos/master
b3109b8ad0 Reflection: Add specialization constant name
90198199df Merge pull request #1324 from cdavis5e/msl-disabled-builtin-names
96f7008aa8 MSL: Force disabled fragment builtins to have the right name.
fbc560782c Merge pull request #1323 from cdavis5e/msl-disable-frag-only
495e48de44 MSL: Only disable output variables in fragment shaders.
54658d6255 Merge pull request #1319 from cdavis5e/msl-frag-outputs
b29f83c383 MSL: Add options to control emission of fragment outputs.
fcbc590937 Merge pull request #1316 from Malacath-92/master
4560ee24fd Improve compatibility with clang-cl
a1d9b474b5 Merge pull request #1314 from KhronosGroup/fix-1313
c7b75a8fe6 MSL: Do not use base expression with PhysicalTypeID OpCompositeExtract.
6637610b16 Merge pull request #1309 from KhronosGroup/fix-1305
941cceedb4 Expose a query if samplers or images are comparison resources.
b691b7d1e3 Do not add NonWritable/NonReadable decorations for regular images.
14f24d71ab Merge pull request #1308 from KhronosGroup/fix-1306
cfcd84319b Merge pull request #1310 from KhronosGroup/msl-force-declare-implicit-builtins
d9d3359ffb MSL: Deal with cases where builtin is implicitly needed, declared, but unused.
01cee74b02 Merge pull request #1307 from troughton/patch-1
28bf9057df HLSL: Add support for treating NonWritable UAV texture as SRV instead.
4cf736d753 MSL: mark BuiltInFragCoord as implicitly used for subpass reads
e58e8d5dbe Merge pull request #1303 from KhronosGroup/fix-1302
3cb6aeb480 MSL: Fix access chain for deep struct hierarchy on array of buffers.
84ec99c531 Merge pull request #1301 from dj2/roll_deps
32307df73a Roll GLSLang, SPIRV-Tools and SPIRV-Headers
9b3c5e12be Merge pull request #1299 from KhronosGroup/fix-1298
b8905bbd95 Add support for forcefully zero-initialized variables.
871c85d7f0 Merge pull request #1297 from KhronosGroup/fix-1295
04e877df12 GLSL: Implement GL_EXT_shader_framebuffer_fetch.
c2655ab291 Run format_all.sh.
c3d216c011 Merge pull request #1296 from KhronosGroup/fix-1292
05004a57ea GLSL/HLSL: Fix nonuniform qualifier for SSBO atomics.
a3d3c80dd7 GLSL/HLSL: Implement nonuniform qualifier for image atomics.
65aa0c35d6 include/spirv_cross: Fix typo.
7d42fd7f7b Merge pull request #1290 from KhronosGroup/fix-1289
185551bfaf HLSL: Do not emit globallycoherent for SRV ByteAddressBuffer.
d19f30a90e Merge pull request #1287 from KhronosGroup/read-write-decoration-tweaks
95cd20f1c7 Add test for disable-storage-image-qualifier-deduction.
c27e1efbf1 HLSL: Add option to always treat SSBO as UAV, even with readonly.
01968c4486 Add option to disable storage image qualifier deduction.
3ebc83da46 Remove old hack which forces NonWritable/NonReadable.
9deb6ffbba Merge pull request #1285 from KhronosGroup/vulkan-semantics-shorthand
3f2de0d5d3 Add -V alias for --vulkan-semantics.
c5f7b55756 Merge pull request #1284 from KhronosGroup/fix-1282
16796e92be MSL: Add C API for force native arrays.
d91e134500 MSL: Add native array test for composite array initialization.
30343f3e95 MSL: Reintroduce workaround for constant arrays being passed by value.
20b28f72fa MSL: Reinstate workaround for returning arrays.
c9d4f9cd74 MSL: Add a workaround path to force native arrays for everything.
f19fdb94d7 Merge pull request #1283 from dj2/roll
7ec16b64c8 Roll GLSLang, SPIRV-Tools and SPIRV-Headers
dffd33dd9d Merge pull request #1280 from KhronosGroup/fix-1278
92a4294c57 Reject SPIR-V modules with garbage ID bound.
c53b34765d Merge pull request #1277 from KhronosGroup/fix-1276
e81c1b1d98 HLSL: Declare undef variables as static.
7ac5c38838 Merge pull request #1275 from KhronosGroup/fix-1274
cec0502ba5 Remove old memory_scope flag from iOS barriers.
6b2add8e2c Merge pull request #1272 from KhronosGroup/fix-1271
6f5cb00148 Use GNUInstallDirs for include path as well.
cb0aca91ef Merge pull request #1273 from orbea/cmake
8b90526911 cmake: Don't hardcode the pkg-config file.
74544caa16 cmake: Use GNUInstallDirs.
d67c3393da CMake: Avoid warning when parent project uses VERSION in project().
68bf0f824c Merge pull request #1270 from KhronosGroup/fix-1266
dfffbb1cf3 Compile fix on older compilers.
655312cb47 GLSL: Support GL_ARB_enchanced_layouts for XFB.
306cb31bad Merge pull request #1239 from cdavis5e/msl-inline-uniform-blocks
ae6c05f6f4 MSL: Move inline uniform blocks to the end of the argument buffer.
fedbc35315 MSL: Support inline uniform blocks in argument buffers.
f9376058ce Merge pull request #1269 from KhronosGroup/fix-1267
8bbb5fb763 Make SmallVector noexcept.
883de24f79 Merge pull request #1268 from barath121/patch-1
eac76d9473 Typo at line 324
f9818f0804 Update license headers to 2020.
7a411258af Run format_all.sh.
af787a8a79 Merge pull request #1264 from KhronosGroup/msl-argument-buffer-persist
4054d650cf Merge pull request #1263 from KhronosGroup/fix-1232
c3bd136df1 MSL: Add support for force-activating IAB resources.
f79c1e2fed Deal with illegal names in types as well.
79700d5412 Merge pull request #1262 from KhronosGroup/json-reflection-improvements
57b70225ef Merge pull request #1261 from KhronosGroup/fix-379
762c87a7bb Reflection: Add array stride/matrix stride reflection.
18e24c3ca2 Reflection: Emit reflection information for array size literalness.
55fe6050fe GLSL: Implement geometry shader passthrough extension.
172e39f039 Merge pull request #1257 from KhronosGroup/fix-1236
74107a04d1 Merge pull request #1256 from KhronosGroup/fix-1252
cc153f8d7f HLSL: Add a resource remapping API similar to MSL.
2bbb012e9c MSL: Deal with sign on wave min/max.
88ddeec49a HLSL: Deal with casting for WaveActiveMin/Max.
5253da9e63 GLSL: Deal with sign in subgroup Min/Max operations.
34ba8ea4f2 Merge pull request #1255 from KhronosGroup/fix-1254
c256525c7b Run format_all.sh.
1cbd71b354 HLSL: Fix bug when reading and writing structs from SSBO.
151ff1e870 HLSL: Implement stores for complex…
LibretroAdmin pushed a commit that referenced this issue Jan 15, 2023
)

6bba45d2a3 Fix misc compilation issues with std::max.
49e4117c5f Updates for main branch rename.
88c6b49959 Merge pull request #2085 from KhronosGroup/fix-2075
a085227395 Merge pull request #2084 from KhronosGroup/fix-2069
1047c13d40 GLSL: Handle textureGatherOffsets properly.
f84527346d GLSL: Declare gl_in/gl_out as array more robustly.
38cd214007 Merge pull request #2083 from KhronosGroup/pr-2080
d46c10ebd3 Refactor PHI checks into block_is_noop instead.
bcbe33ad11 Also consider NonSemantic ExtInst in block_is_noop.
9d8ef6b36c Update test for updated block_is_noop check.
a61a541e1c Merge branch 'accept_noop' of https://github.com/loic-sharma/SPIRV-Cross into pr-2080
457fd3db70 Add tests for loops compiled with debug semantics.
07a629f149 Roll dependencies.
d69a2cafe5 Accept no ops
cded61dde3 Merge pull request #2076 from billhollings/ios-tier2-writable-images
284ccf5d2d Fixes from code review of adding writable images to iOS Tier2 argument buffers.
0bb28ef88a Merge pull request #2078 from KhronosGroup/fix-2072
549cde7fae Fix GCC5 build.
cc2b3b61a6 Merge pull request #2077 from EpicGames/fixes_glsl
6371580f51 Fixed typo in CompilerGLSL::should_dereference()
643b7be196 MSL: Add support for writable images in iOS Tier2 argument buffers.
a89dea3c49 Merge pull request #2071 from KhronosGroup/fix-2068
baf38f0593 Merge pull request #2070 from KhronosGroup/fix-2066
68a012a4f2 CFG: Handle implied access to opaque loaded values.
03b1f66ef1 GLSL: Fix row-major workaround wrapper for ES.
3c997e12eb Add C API option for enable row major workaround.
c77b09b57c Merge pull request #2063 from KhronosGroup/fix-2060
451ed10e91 Merge pull request #2062 from cdavis5e/msl-spirv-assembly-fixes
df76a14056 MSL: Refactor member reference in terms of one boolean.
e75c496ec6 Fix MSL Access Chain
540a1e82c6 Merge pull request #2056 from cdavis5e/msl-discarded-frag-checks
061cdd2052 MSL: Don't dereference forwarded copies of `OpVariable` pointers.
5547b25afe Interleave undef values with constants and types.
06ef3de002 GLSL, MSL: Handle `OpUndef` as part of a constant composite.
aa5a8c482e MSL: Prevent stores to storage resources in discarded fragments.
51d2dfe02a MSL: Add missing casts to `Op?MulExtended`.
c7ce92a95b MSL: Manually update `BuiltInHelperInvocation` when a fragment is discarded.
edd66a2fc9 Merge pull request #2055 from KhronosGroup/fix-2053
e8a22a7cf6 Handle ShaderDebugInfo non-semantic extension.
abc31207bf Merge pull request #2052 from KhronosGroup/hlsl-mesh-shader-ext
b606e4f752 HLSL: Fix test for non-block per-primitive IO.
ebf779dcfb HLSL: Do not support ClipCull size > 4 in mesh shaders.
94160e8890 GLSL: Add test for mesh with non-block builtin IO.
3a066cd733 HLSL: Handle case where PerVertex block is not used.
f5ef0a74fb HLSL: Make sure to test deeply nested functions in mesh shaders.
e418266d25 HLSL: Some cleanups and fixes in analyze_meshlet_writes.
892f65b3a6 HLSL: Fix some warnings from review.
a4d5c0c4a5 HLSL: Fix-up some style issues from review.
10f55a11eb HLSL: Add missing reference for mesh shader test.
322f1b9fb3 Fixup glslang reference.
80146a20da HLSL: Implement VK_EXT_mesh_shader
744279ec78 Merge pull request #2050 from cdavis5e/op-spec-constant-op-composite-insert
8cf99e7d44 MSL: Implement `CompositeInsert` `OpSpecConstantOp`.
3cecac74c6 Merge pull request #2051 from KhronosGroup/roll-glslang-dep
605bce39d7 Roll glslang dependency.
677299cc56 Merge pull request #2049 from KhronosGroup/fix-2046
4de9d6c2b6 MSL: Handle implicit integer promotion rules.
c813d8d67b Merge pull request #2044 from KhronosGroup/fix-2038
2a49f7e82d MSL: Fix restrict vs __restrict incompatibility.
3ea057a303 Merge pull request #2045 from KhronosGroup/fix-2037
0851baf9ee Merge pull request #2043 from KhronosGroup/fix-2040
47c7fc16eb HLSL: Add option to bind vertex input smemantics by name.
04af769e85 MSL: Handle partial access chains with array-of-UBO/SSBO.
5763919669 Merge pull request #2039 from cdavis5e/raw-buffer-tess-input
e698633e22 MSL: Account for composite types when assigning locations.
0b679334e4 MSL: Don't flatten arrayed per-patch output blocks in tessellation shaders.
a171087180 MSL: Support "raw" buffer input in tessellation evaluation shaders.
f09ba27777 Merge pull request #2035 from KhronosGroup/fix-2032
f15d465a52 Merge pull request #2034 from KhronosGroup/fix-2028
799d8c9e35 Merge pull request #2033 from KhronosGroup/fix-2029
b5386e3ea9 HLSL: Improve support for VertexInfo aux struct.
4ecdb24e59 MSL: Expose way to query if a buffer needs array length.
f3b1375b13 Add reflection support for shader record buffers.
c821207ae2 Merge pull request #2027 from billhollings/msl-opstore-addr-space-cast
0a1127aa50 MSL: Emit correct address space when casting during OpStore.
81ba8f78f6 Merge pull request #2025 from KhronosGroup/fix-2009
291def0793 MSL: Add more keywords to reserved set.
a7f64a8b90 MSL: Report unsupported 64-bit atomics.
ddaa2da629 Merge pull request #2024 from KhronosGroup/msl-descriptor-aliasing
a915e0bd4b MSL: Do not attempt to alias push constants.
adf0995bb9 Merge pull request #2023 from KhronosGroup/msl-descriptor-aliasing
24dc49e692 MSL: Handle descriptor aliasing of raw buffer descriptors.
1ad6006130 Merge pull request #2021 from siegelaaron94/opengles_texture1d_textureSize
7b4c470f16 GLSL: Account for ES sampler1D to sampler2D promotion in textureSize.
6d3518e238 Merge pull request #2018 from atyuwen/master
7afbbb624a Merge pull request #2019 from billhollings/msl-OpPtrEqual-OpPtrNotEqual-OppPtrDiff
5493b3030e MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff.
1b9296e1a5 MSL: only fix up gl_FragCoord if really necessary.
f6ca617825 Merge pull request #2017 from KhronosGroup/roll-deps
a5a7999666 Update mesh/task test references.
d7a6861f64 Update glslang/spirv-tools.
1e7e9fc32b Merge pull request #2015 from FrankXie05/vcpkg-instructions
8553588895 Merge pull request #2014 from cdavis5e/msl-shader-output-fixup
064eaebe72 MSL: Add a mechanism to fix up shader outputs.
d206e54ece Add vcpkg installation instructions
210a800130 Merge pull request #2012 from KhronosGroup/mesh-shaders
4c345166dc GLSL: Implement task shaders.
5762617729 GLSL: Implement GL_EXT_mesh_shader.
6a73e68d30 Update glslang reference.
ec7b9b0ce7 Update SPIR-V headers.
9fcf62784b Merge pull request #2011 from KhronosGroup/roll-deps
d24f41f1d5 Update dependencies.
c93ee9261e Merge pull request #2005 from atyuwen/master
f40dba4919 GLSL: added an option to disable row-major-load workaround.
10f2aa77da Skip remapped vars in 'fixup_reserved_names'
9afa82e7b8 GLSL: disable row major load around on GLES.
33e19e86bf Don't rename remapped variables like 'gl_LastFragDepthARM'
61c603f3ba Merge pull request #1996 from KhronosGroup/fix-1993
bc3987e59a MSL: Fix various bugs with Ptr/U bitcasts.
c084973c67 Merge pull request #1995 from KhronosGroup/fix-1992
05bbcc2d09 Do not optimize OpCompositeInsert for hoisted temporaries.
a725d8fad1 Fix minor style nit from review.
1bc05ef735 Merge branch 'master' of https://github.com/gpx1000/SPIRV-Cross
a9cadd4982 Merged in cts-shared-composite-variables (pull request #1)
fc4a12fd4f MSL: Use a wrapper type for matrices in workgroup storage.
faea931de3 MSL: Also replace `bool` with `short` in structures.
0cccd0a65a Merge pull request #1986 from KhronosGroup/fix-1975
4dfac510ed Handle multiple breaks out of switches.
c24d5a7b90 Merge pull request #1985 from KhronosGroup/fix-1973
8ba0820c9d Merge pull request #1984 from KhronosGroup/fix-1972
095e9e5cee Merge pull request #1982 from RandomShaper/hlsl_subgroup_scan
be904dcc1e Handle collapsed loops similar to collapsed selections.
f7e98c39db Avoid detection of false loop variables.
cb4e310f43 Merge pull request #1983 from KhronosGroup/fix-1979
1fe470b199 HLSL: Implement GroupOperation(Inclusive/Exclusive)Scan.
06ca9accd7 HLSL: Add option to emit entry point name 1:1 instead of main().
d8d051381f Merge pull request #1970 from KhronosGroup/fix-1969
963fdfdf68 Handle PHI in collapsed switch constructs.
f46745095d Merge pull request #1965 from billhollings/msl-physical_storage_buffer
064a697b18 MSL: Fix implicit conversion precision build error.
4185acc70d MSL: Fixes from review for SPV_KHR_physical_storage_buffer extension.
78eb5043f9 MSL: Fixes from review for SPV_KHR_physical_storage_buffer extension.
e6925974d1 Merge pull request #1966 from fred-wang/macos-snprintf
9c44a97faa address more review comments
1310f5ba4d Keep using sprintf on windows.
99f8613847 Fix compilation errors with deprecated sprintf function
ba3e6ffe03 Merge pull request #1964 from sergmister/patch-1
52c7c2dab6 MSL: Add support for SPV_KHR_physical_storage_buffer extension.
1bba4d5137 Fix typo
99b59b3528 Merge pull request #1963 from KhronosGroup/convert-u-to-rtas-fix
e08e0cf28d GLSL: Handle forced temporary OpConvertUToAccelerationStructureKHR.
89b1c24bdc Merge pull request #1961 from RandomShaper/hlsl_more_bitcasts
d8c5e39436 HLSL: Implement bit casts between Half and UShort.
197a273fd4 Merge pull request #1959 from KhronosGroup/fix-1955-1956
df21a99d1a GLSL: Add more extension ladder fallbacks for unusual integer sizes.
a97bbc24c5 Merge pull request #1958 from KhronosGroup/fix-1957
cdafafe93b Merge pull request #1954 from vkaytsanov/patch-1
533aab00b6 GLSL: Add missing KHR barycentric references.
46e4b5a3c8 Fix control flow bug where we missed continue;
612de70b38 Fix missing function in README sample
50b4d5389b Merge pull request #1953 from KhronosGroup/bary-khr
e45d01c41f Emit KHR barycentrics if source enables the KHR extension.
0aedc7d128 Roll dependencies.
af223101c6 Merge pull request #1952 from KhronosGroup/fix-1944
c8ab790163 Merge pull request #1951 from KhronosGroup/fix-1950
88e583d062 GLSL: Add basic support for GL_EXT_shader_atomic_float.
1c88730e12 GLSL: Implement 1D texture emulation for ES.
3f855646f0 Merge pull request #1948 from iwubcode/gl_layer_hlsl
a6976d596a HLSL: fix BuiltInLayer to emit semantic 'SV_RenderTargetArrayIndex' instead of 'SV_RenderTargetIndex'
b3ff97d0fe Merge pull request #1946 from KhronosGroup/fix-1943
48d50fa911 Merge pull request #1945 from KhronosGroup/fix-1938
d08ce828f4 Promote Unreachable cases into break to avoid fallthrough.
4b9e60273c Add tests for OpCompositeInsert edge cases.
23662668dd Attempt more optimal codegen for OpCompositeInsert.
d0c8dc3045 Merge pull request #1942 from KhronosGroup/no-fetch-grad-workaround
a3c4177324 GLSL: Don't apply Grad LOD workarounds for fetch.
bfefb5f511 Merge pull request #1941 from KhronosGroup/fix-1934
832d469048 Merge pull request #1940 from KhronosGroup/fix-1935
05206005ca MSL: Potentially cast loaded Input variables.
92164d38d1 GLSL: Do not analyze precision for Undef variables.
940efca099 Merge pull request #1936 from KhronosGroup/rt-stage-cli
0b303aab16 Add --stage handling for ray tracing.
0c8a79b0b5 Merge pull request #1932 from KhronosGroup/fix-1868
7eb5ced2a0 Refactor out query for operation type/result IDs.
7a6c2da9aa GLSL: Handle more proper semantics for RelaxedPrecision.
d28136cc7a GLSL: Clean up some ways of querying decoration flags.
a9d23d7652 Merge pull request #1931 from EpicGames/fixes_hlsl
65431446f4 HLSL: Add missing BuiltInLayer to HLSL backend.
6ae7ddb92a Merge pull request #1930 from KhronosGroup/fix-1928
960edcd396 Merge pull request #1929 from KhronosGroup/fix-1925
10a7631d50 HLSL: Add more comprehensible reserved identifier list.
40b3053b4c Handle early reads from loop variables with initializers.
c52333b984 Merge pull request #1924 from stefalie/master
ee4ac5c2ce Merge pull request #1927 from billhollings/msl-interface-block-array-length-1
3bca246ad2 MSL: Emit interface block members of array length 1 as arrays instead of scalars.
089cf27119 remove newline at eof
56fd17f552 add qualifiers to reference reflect json output
05c9a14422 cli: display missing memory qualifiers for reflect and dump-resources
d7cae5e7cd Merge pull request #1917 from KhronosGroup/fix-1906
0500f9ed5d Merge pull request #1916 from KhronosGroup/fix-1910
d2a4f9842b GLSL: Support GL_EXT_debug_printf.
5b18fb1bcd MSL: Pass down global RayQuery object to leaf functions.
779138f39f Merge pull request #1914 from RandomShaper/hlsl_view_index
2ea1c9b642 HLSL: Implement ViewIndex.
6a67891418 Merge pull request #1909 from skkkksdkfak/primitive_id
54c00b69a4 Translate gl_PrimitiveID to SV_PrimitiveID.
0d4ce028bf Merge pull request #1903 from KhronosGroup/fix-1900
17c52990d5 MSL: Fix goofy bugs in ray query.
a3996eccf3 Merge pull request #1896 from Roy-AMD/fix-condition-issue
749be80389 Use types have same widths in loop condition.
44691aa975 Merge pull request #1899 from billhollings/forward-volatile-vars-except-builtins
85f98eb0c5 Allow volatile vars that are not builtins to be forwarded.
d000b9e71c Merge pull request #1898 from KhronosGroup/pr-1859
191c57b6cc Merge pull request #1897 from KhronosGroup/fix-1763
a7eefbc114 HLSL: Disable FXC testing for rayquery shaders.
cd209ff46d HLSL: Update test from review.
c95338e03e Merge branch 'ray_query' of https://github.com/k-payl/SPIRV-Cross into pr-1859
7b9eaf0b5e MSL: Handle awkward mix and match of Offset / ArrayStride in constants.
251361bd6f VK_KHR_ray_query implementation
565db34cba Merge pull request #1892 from KhronosGroup/meta-lookup-cleanup
39bad2c1f9 Avoid redundant meta lookups in ParsedIR when setting member decorations.
d5c3bd8b5e Merge pull request #1890 from KhronosGroup/fix-1889
4ab5bbb4e5 Fixup names of anonymous inner structs.
0b51794f01 Merge pull request #1888 from KhronosGroup/msl-ib-variable-name-alias-fix
1ec9d018fd MSL: Handle aliased variable names for resources placed in IB struct.
213c5f42ea MSL: Fix minor nits.
4ec1fb0aa9 Merge pull request #1887 from billhollings/msl-use-var-name-for-flattened-interface-struct-members
0c0fd98322 MSL: Use var name instead of var-type name for flattened interface members.
3915c37bb1 Merge branch 'fixup_gl_helper_invocation' of https://github.com/RandomShaper/SPIRV-Cross
c4f9e4fde9 HLSL: Fix Helper Invocation wrongly allowed in compute.
a1803778c2 Merge pull request #1885 from KhronosGroup/helper-invocation-rework
b192b8887a MSL: Consider that gl_IsHelperInvocation can be Volatile.
15d29f00e2 Add test for SPIR-V 1.6 Volatile HelperInvocation.
93b0dc7718 Consider Volatile in should_forward().
476b6541fa Remove forwardable bit in SPIRVariable.
5d9fc2d903 HLSL: Add test for HelperInvocation.
005c14ad6a HLSL: Implement HelperInvocationEXT.
75224c6c7c Merge branch 'gl_helper_invocation' of https://github.com/RandomShaper/SPIRV-Cross
278a4c80ed HLSL: Add support for gl_HelperInvocation
6c7a40822f Merge pull request #1881 from KhronosGroup/relax-nan-checks
31be74a853 Add relax_nan_checks options.
b91ecf6077 Merge pull request #1880 from KhronosGroup/fix-1879
2ce1e5c140 Merge pull request #1878 from mysterymath/move
dc62cc792b Handle OpTerminateInvocation.
2a7f436135 Merge branch 'msl-add-nested-structs-to-io-blocks-squash'
7b594c125e Fix formatting nits from review.
bb4ced0280 MSL: Document clarification of location incrementing.
02d588b7e4 MSL: Fix var names in test shaders to avoid reserved identifiers.
3bb3b22b34 MSL: Non-functional fixes from PR code review.
3d4daab29d MSL: Support input/output blocks containing nested struct arrays
44c3333a1c Qualify std::move.
d16183d1d2 Merge pull request #1873 from KhronosGroup/fix-1861
02440e85cf Merge pull request #1872 from KhronosGroup/fix-1867
7af0a5f820 HLSL: Do not emit VPOS fixup unless position is active.
5555f2784b MSL: Refactor and fix use of quadgroup vs simdgroup.
a569680406 Merge pull request #1870 from abrachet/master
0eda71c409 Qualify move as std::move
c08ee860c8 Merge pull request #1869 from xndcn/msl
1b5c406a3d MSL: append entry point args to local variable names to avoid conflicts
188dc8b13c Merge pull request #1862 from flokart-world/feature/flatten-ubo-for-hlsl
64e058aa9b Merge pull request #1863 from KhronosGroup/various-fixes
ed4ded040e HLSL: Make --flatten-ubo work correctly
a56b22bf4e Add more scenarios where we can guarantee forward progress.
c716a9a5dd Add debug option to modify maximum number of compile iterations.
29cc18988c Fix regression from adding 64-bit switch support.
339e61a0e0 Do not emit hoisted access chain temporaries unless backend supports it.
5d9a95370f GLSL: Ensure correct signed integer type for more texture functions.
131278458e Merge pull request #1860 from KhronosGroup/docs-update
a8016a6470 Update documentation for descriptor set support in MSL/HLSL.
1a36968e5d [Spirv_msl] Fix normalize on half3/half2 (#1856)
53d94a982e Merge pull request #1852 from KhronosGroup/fix-1850
5a29181b35 Merge pull request #1851 from KhronosGroup/fix-1835
5b952d2cbf MSL: Rethink how opaque descriptors are passed to leaf functions.
ac46140ba3 Test aliased names in declared LUTs.
48b5a9069f Handle aliased names in spec constants.
08d5f5ed18 Merge pull request #1849 from KhronosGroup/fix-1844
9b25581d49 MSL: Handle constant construct of block-like array types.
79b13813c6 Merge pull request #1848 from KhronosGroup/fix-1843
5a5be7f9b9 MSL: Handle signed atomic min/max.
7dd974b9db Merge pull request #1847 from KhronosGroup/fix-1775
e940577fba Merge pull request #1846 from KhronosGroup/fix-1760
1d13a3e36a Rework how loop iteration counts are validated.
ef6bde6580 Do not forward expressions which carry a huge amount of dependencies.
a1bb29ccbb Merge pull request #1845 from KhronosGroup/pr-1842-fix
017cdfe25b Update references for GL_EXT_texture_buffer.
4407c0dd14 fix: GL_EXT_texture_buffer is more common than GL_OES_texture_buffer
fe5a0aa72f Merge pull request #1839 from KhronosGroup/spv1.6
e8b30cc31d Merge pull request #1838 from KhronosGroup/fix-1811
7c12228359 Add sanity test for SPIR-V 1.6 modules.
7c83fc22fa Add support for LocalSizeId.
35bb328443 Test: Add --allow-localsizeid flag for spirv-val.
eadca962c8 Merge pull request #1837 from KhronosGroup/roll-deps
a10d72e3b1 Merge pull request #1834 from chirsz-ever/chirsz/fix-msl-copy-array
fe8848a6f2 Roll dependencies.
9c0b74f73b Merge pull request #1836 from KhronosGroup/pr-1824-fixup
be333e0cab MSL: Move float2->3 TessCoord fixup to a better location.
2793d22af5 Merge branch 'master' of git://github.com/cfnptr/SPIRV-Cross
e0ae55d5e2 Merge pull request #1822 from etra0/add-diff
55a0291ce5 Merge pull request #1817 from etra0/fix-1784
90c252274d MSL: Allow copy array from UniformConstant storage
2acf0e73dd Fix gl_TessCoord arguments presence. Update reference shaders.
a66984072b Fix incorrect MSL gl_TessCoord variable type
2bb051206b test_shaders: Add the option to generate diff instead.
905b8244e7 Clamp vector element access to vector size.
e9cc640334 Merge pull request #1815 from etra0/fix-1768
25868923da Merge pull request #1819 from sindney/master
6d8302ef14 MSL: Add 64 bit switch support
4b0584ce70 ESSL: Vertex shader input doesn't support array types.
37dfb3f45f Merge pull request #1794 from etra0/master
5345051a85 Removed tracking of OpConstant and OpPhi.
7c3cb0b12c Merge pull request #1810 from billhollings/early-frag-tests-depth-out
248e9ae9ed MSL: Don't output depth and stencil values with explicit early fragment tests.
75e3752273 Added block.cases_32bit and reworked the cases fix
401296d3b8 Merge pull request #1808 from billhollings/depth-img-vs-depth-cmp
03f678dec4 Cast the switch selector in GLSL to uint32_t
fd252b21ff Separate (partially) the tracking of depth images from depth compare ops.
48046646ee Fixed wrong condition and formatting.
2e0fb3a778 Merge pull request #1807 from KhronosGroup/fix-1801
f1b411c9e8 GLSL: Deal with buffer_reference_align.
1adc53b107 Merge pull request #1806 from KhronosGroup/fix-1777
21a15b90e5 Merge pull request #1804 from KhronosGroup/fix-1759
2714f5410c CFG: Handle degenerate selection constructs.
e40d19bdbf MSL: Handle non-thread storage class in Modf/Frexp pointer versions.
f1d4aff85e Merge pull request #1805 from KhronosGroup/fix-1776
2c53d30664 Merge pull request #1803 from KhronosGroup/fix-1802
4561ecddbd Handle Modf/Frexp in more cases.
d295c2a046 Merge pull request #1800 from EddeDev/master
849978653a Merge pull request #1798 from billhollings/tess-output-clip
05e8e5a953 Correctly reflect declared buffer size for out of order members.
4dcf64a99b Fixed potential compilation error in spirv_cross_containers.hpp
250a02967d Removed unnecessary tracking of types.
4ebd56bf9e MSL: Correctly emit user(clip/cullN) for clip/cull builtins in tess output struct.
f099d714f3 Removing logic in the parser
04293e03fd Merge pull request #1797 from KhronosGroup/clone-protocol
0d03516382 Always use https protocol when cloning external test deps.
061397e32e Merge pull request #1792 from billhollings/uniform-struct-packing-nested
3eb5532979 Add 64 bit support for OpSwitch
be812c45e5 MSL: Remove over-zealous check for struct packing compatibility.
66adba17a8 Merge pull request #1791 from billhollings/msl-out-of-order-struct-offsets
76cb807c19 MSL: Fix type redirection when struct members are reordered to align with offsets.
29632959d2 Merge pull request #1787 from KhronosGroup/fix-1786
edf247fb1c MSL: Workaround compiler crashes when using threadgroup bool.
43eecb2360 SPIRV-Cross contribution needed for `INTEL_fragment_shader_ordering`
94dea2507e Merge pull request #1769 from audulus/spm2
f5219f47c3 Add Package.swift.
2a56c2bc04 Merge pull request #1783 from billhollings/more-unpacked-vectors
ab640bc3d3 Merge pull request #1782 from KhronosGroup/fix-1781
974a0818b8 MSL: Support more usecases for unpacked vectors.
2b5e17eca5 MSL: Never used templated array for RayQuery objects.
bc338710e1 MSL: Remove some redundant breaks.
5afb3d313f MSL: Fix some trivial bugs not caught by CI when adding ray query.
345a7d171c Merge pull request #1773 from congyue1977/master
2895a43274 Fix unsupported exceptions for ConvertUToAccelerationStructure & BindingTableRecordOffset.
d52ec1e196 Fix all requested changes, test_shaders.py supports compiling MSL 2.4 shaders, and the Intersection Query currently only supports MSL 2.4 on the iOS platform.
6d13c99273 Merge pull request #1780 from billhollings/out-of-bounds-swizzle-fix
595eb0c21d Per spec, support undefined behavior for out-of-bounds swizzles.
597f29d09d Support Metal 2.4 Intersection Query, Implement GL_EXT_ray_query.
e4243b898c Merge pull request #1766 from KhronosGroup/fix-1765
6382f15470 Test behavior around OpSelect with matrices.
6071df5840 Fix wrong detection of trivial_mix_op.
97a438d214 Merge pull request #1757 from KhronosGroup/fix-1754
f72bb3c6f5 Improve handling of INT_MIN/INT64_MIN literals.
457c00bd07 Merge pull request #1756 from KhronosGroup/fix-1753
91c25e8473 Merge pull request #1755 from KhronosGroup/fix-1751
9b2a8c7622 HLSL: Ensure synthetic NumWorkgroups variable is considered active.
bb04156d3c CLI/HLSL: Don't set explicit binding for synthesized NumWorkgroups CBV.
96d95fbb31 MSVC: Workaround crtdbg macroing free().
9462b90067 Merge pull request #1752 from billhollings/function-constants-opquantize
325f107c5b Merge pull request #1745 from billhollings/location-component-vecsize
ec054dad7f MSL: Support synthetic functions in function constants.
dee35bf3ce Merge pull request #1749 from billhollings/fastmath-quantize
ba66a91402 MSL: Use vec<T, n> in template SpvHalfTypeSelector for function spvQuantizeToF16().
a2671e35b0 MSL: Consolidate spvQuantizeToF16() functions into a single template function.
5742047b24 MSL: Honor infinities in OpQuantizeToF16 when compiling using fast-math.
05ac99ae23 Merge pull request #1748 from billhollings/fastmath-nocontraction
fb3defc9ef MSL: Honor DecorationNoContraction when compiling using fast-math.
548a23da34 MSL: Track location component to match vecsize between shader stages.
fe1af2ae72 Merge pull request #1747 from KhronosGroup/ci-fix
d579444a82 Merge pull request #1744 from billhollings/location-attribute-fix
6628e10fc6 Merge pull request #1746 from billhollings/fast-math-per-vulkan
3ca99bbbcc Remove tests for Ubuntu 16.04.
0f12557695 Remove obsolete Travis CI YML.
40141ffddf MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results.
86dfac12c8 MSL: Fix location and component variable matching between shader stages.
b81334a513 Merge pull request #1738 from billhollings/return-value-after-discard-terminator
2a150f5a2f MSL: Add explanatory comment requested in PR review.
35e92e6ffb MSL: Return fragment function value even when last SPIR-V Op is discard (OpKill).
c2500e504d Merge pull request #1735 from billhollings/add-const-op-exprs
472f9d4f6d Add tests for OpSpecConstantOp ops OpQuantizeToF16 and OpSRem.
5fb1ca4f0d Add support for additional ops in OpSpecConstantOp.
51d8e7be94 Merge pull request #1734 from KhronosGroup/buffer-reference-uvec2
b8f1e71907 GLSL: Emit GL_EXT_buffer_reference_uvec2 as required.
d6fe75df10 Merge pull request #1732 from KhronosGroup/fix-1731
23c4480d8e Fix switch fallthrough case in some cases.
0e2880ab99 Merge pull request #1729 from KhronosGroup/fix-1726
2eea6a579b MSL: Consider that function/private variables can be block-like.
840d4483bc Merge pull request #1728 from KhronosGroup/fix-1727
5b0cafb416 Track temporary access for OpArrayLength result.
c062b6b852 Merge pull request #1725 from billhollings/fix-duplicate-glposition
fad1590786 Merge pull request #1722 from billhollings/row-maj-mtx-store-from-const
27e7abeab1 Merge pull request #1724 from billhollings/msl-const-expr-casting
e76fcf9309 MSL: Add test for fixes to MSL constant expression type down-casting.
3105e82b2e MSL: Fix duplicate gl_Position outputs when gl_Position defined but unused.
a75fe07546 MSL: Fix casting in constant expressions with different sizes.
9552ca5473 MSL: Support row-major transpose when storing matrix from constant RHS matrix.
bab4e5911b Merge pull request #1716 from KhronosGroup/terminator-access-fix
cb613eb675 Handle value access in terminators.
1964799fba Merge pull request #1715 from KhronosGroup/precise-fp16-fp64
ac11a91792 GLSL: Emit precise for fp16/fp64 types as well.
cd22336a38 Merge pull request #1712 from cdavis5e/msl-subgroup-ballot-simplify
03ad13bae6 MSL: Simplify spvSubgroupBallot().
18f3cd6810 GLSL: Ensure ray query object decls are flushed if allocated in Function.
e51630595f Merge pull request #1711 from KhronosGroup/fix-1690
5b227cc57c GLSL: Implement GL_EXT_ray_query.
6196e3b029 MSL: Remove redundant path for SampleMask.
2fcbef398c Merge pull request #1709 from billhollings/fix-sample-mask-in
fe08bf4af4 Remove EXPERIMENTAL from JSON reflection backend.
ebb5098def MSL: Adjust gl_SampleMaskIn for sample-shading and/or fixed sample mask.
be3988b13c Merge pull request #1706 from SpaceIm/fix/ios-bundle
a70ce5192e Merge pull request #1708 from KhronosGroup/fix-interpolant-access-chain
71b83a18f4 MSL: Add test for scalar access chain pull interpolant.
d42c0b2e08 Merge pull request #1707 from billhollings/fix-interpolant-access-chain
3e04eee491 MSL: Fix setting SPIRVCrossDecorationInterpolantComponentExpr decoration.
d74eaabde0 fix cross-build to iOS/tvOS/watchOS
1ae2b58f19 Merge pull request #1700 from pkasting/master
bf746bd680 Merge pull request #1699 from KhronosGroup/pervertexnv
7cdab07efe Fix -Wunreachable-code-aggressive.
206ee8f171 GLSL: Support pervertexNV in NV barycentric extension.
c5b8022e61 Merge pull request #1669 from KhronosGroup/1560-reuse1
54882ad16d Add GLSL.std.450.h to REUSE.
3781d49d7c .gitignore ignored new license text
c862f8d22d Actually checkout repo into new reuse job
f2a65545b8 Finish adding SPDX tags and setup a reuse checked in Github Actions CI
2ceca64004 Add missing copyright headers.
853e84e8bf Merge pull request #1698 from KhronosGroup/fix-1691
d6b29ab017 HLSL: Rewrite how block IO is emitted.
9338996f3b Merge pull request #1697 from KhronosGroup/fix-1693
3149095585 Merge pull request #1696 from KhronosGroup/fix-1694
d75666b170 GLSL: Emit num_views for OVR_multiview2.
8216e87f02 Handle SPIR-V 1.4 selection constructs.
9cdeefb5e3 Merge pull request #1692 from Kangz/fix_default_copy_dtor
6a85c695cc Fix IVariant -Wdeprecated-copy-with-dtor
2e1b5fb39e Merge pull request #1686 from KhronosGroup/fix-1684
fa42f1ce34 Merge pull request #1685 from KhronosGroup/fix-1683
449f68ef3b Ensure loop control flow hints only appear above loops.
d62b3c2b92 GLSL: Implement control flow hints.
165dbff228 Handle odd type for textureGather component.
585fc6f3cb MSL: Always enable support for base vertex/index on iOS.
a6ce49ca24 Merge pull request #1680 from xndcn/cc
02fb8f2a24 Add comment after inf/nan float number for clarifying.
ff61890722 Merge pull request #1679 from okuoku/fix-c-sample-code
38c6ef1d56 Fix C sample code in README.md
faec1a8643 Merge pull request #1678 from KhronosGroup/fix-1674
9ea0e8b859 Merge pull request #1677 from KhronosGroup/fix-1673
c87cb54499 MSL: Add CLI option for sampler suffix.
bf3793dd35 MSL: Improve handling of split tessellation access chains.
a6c9514856 Merge pull request #1676 from KhronosGroup/fix-1671
0214990e7c Merge pull request #1675 from KhronosGroup/fix-1670
26a4986009 GLSL: Implement noncoherent framebuffer fetch.
99ae0d32e9 MSL: Handle array with component when we cannot rely on user() attrib.
a64ddcdd49 MSL: Handle array of IO variable with Component decoration.
418542eaef Merge pull request #1668 from KhronosGroup/fix-1665
b8115ffbe0 HLSL: Implement invariant as precise.
e47a30e807 Honor NoContraction qualifier.
0eeaffe048 Merge branch '16-bit-int-types-glsl'
6dbab0df47 Update reference output.
0408c592dd Fixed 16 bit int types
72a2ec4c1b MSL: Fix '--msl-multi-patch-workgroup' out of bounds reads when dispatching more threads than control points (#1662)
995c7981cc Merge pull request #1663 from billhollings/metal-arg-buff-padding-patch
098cdd64f6 MSL: Padding for Metal argument buffers should not double-count SampledImages.
c624d5387c Merge pull request #1660 from KhronosGroup/fix-1658
82a77e534e MSL: Use proper array for quad tess levels.
b38e3b4a47 Merge pull request #1661 from KhronosGroup/fix-1659
0e963c62b6 HLSL: Support Shuffle wave ops.
bbcef69a45 Merge pull request #1657 from KhronosGroup/fix-1607
532f65583e Rewrite how non-uniform qualifiers are handled.
d137abeef5 Merge pull request #1655 from KhronosGroup/fix-1640
8e24e0b224 Merge pull request #1654 from KhronosGroup/fix-1641
71eb1754e3 Merge pull request #1653 from KhronosGroup/fix-1638
2cbc7f0f37 Merge pull request #1652 from KhronosGroup/fix-1644
b084f639cb Merge pull request #1651 from KhronosGroup/fix-1645
c89b5a1a3f GLSL: Support shading rate builtins.
3fd148450a GLSL: Implement gl_FragFullyCoveredNV.
f93a8fb1fe GLSL: Support GL_EXT_shader_image_load_formatted.
90c70e6605 MSL: Handle variable access in OpSelect.
96ba044f01 HLSL: Fix automatic location assignment in block IO.
3cb8e7c223 Merge pull request #1643 from KhronosGroup/fix-1639
ae9ca7d73c MSL: Fix copy of arrays to/from stage IO variables.
986196030d MSL: Don't use native arrays for tess level inputs.
4a379a00f3 MSL: Don't emit native array for masked clip/cull distance.
406af8ff4d c: Add C API for builtin stage IO reflection.
b4a380a04c Support reflecting builtins.
852f2da63c Check SPIR-V 1.4 rules when reflecting resources.
682a227f4b MSL: Make builtin argument type declaration context sensitive.
c1edd35d57 MSL: Use spvUnsafeArray for builtin arrays after all.
7b9a591aa7 MSL: Hoist out to_tesc_invocation_id() in more places.
75ed73818c MSL: Handle loading Clip/CullDistance in TESE.
a159334895 MSL: Correctly analyze if builtin block is active.
cea934c03f MSL: Test that we can capture cull distance to buffer.
5826298697 MSL: Handle CullDistance better.
23da445bd4 MSL: Emit multiple threadgroup slices for multi-patch.
b442500204 MSL: Unroll initializations of CullDistance/ClipDistance control points.
c9946296dd MSL: Fix initialization of masked threadgroup variables.
ee85bb345e Fix print_help comment.
faf80b08fc MSL: Don't report fallback location allocations as being "used".
adc5fe3615 C: Add C api for stage output masking.
5e9c2d060e MSL: Cleanup fallback IO block emission.
e32c474911 MSL: Handle masking of TESC IO block members.
dc54f75eec MSL: Fixup gl_PerVertex names if we're emitting masked builtins.
40f628f49c MSL: Add test for complex control point outputs.
46c48ee6b5 MSL: Rewrite how IO blocks are emitted in multi-patch mode.
425e968720 MSL: Handle flattening of patch block outputs as well.
8e2dbe0d38 MSL: Do not declare patch variables on stack.
ff3f5bcba5 MSL: Handle masking of builtin control points.
6ecdd64a91 MSL: Emit a masked builtin IO block if necessary.
436b1250da MSL: Do not perform scalar fixups for control-point outputs.
22c9b63e78 MSL: Fix argument_decl check for builtin.
c635c35c12 MSL: Temporarily allow empty output struct.
a59e25db18 MSL: Small refactors.
74b2acab9b MSL: Always emit block variable for block types.
ae7bb41ef4 MSL: Test that we can mask location writes in TESC.
3255d6cef0 MSL: Explicitly only consider masked variables to be thread-group-like.
ba93b6518d MSL: Fix masking of vertex block outputs.
a393de31e6 MSL: Refactor out variable/block member masking.
857295a9ab MSL: Add tests for masking with --for-tess.
43b6ea2c9a MSL: Remove position mask tests. They will fail compilation.
e7b37392bf MSL: Emit correct address space for masked arguments.
65b5ff7ece MSL: Don't emit weird reference type for spvUnsafeArray types.
e7824c8b6e MSL: Handle masked outputs in extract_global_variables.
50a6bc058a MSL: Force builtin arrays for builtin array types.
88b54f5dab MSL: Add tests for vertex output masking.
394c038bfd MSL: Do not consider effective storage for any composite.
04988b89b9 MSL: Handle effective storage for masked CP outputs.
f2b5fb3f45 MSL: Emit threadgroup storage class for masked control point outputs.
ea91579a7f MSL: Do not redirect tess access chains on masked outputs.
9c1cadd440 Add --mask-stage-output-* CLI options.
f682e89188 MSL: Correctly emit array type for masked outputs.
2a2d57df13 MSL: Sketch out API to aid LTO-style optimization.
9a144bb2b9 Clean up member sorting.
0997e81118 MSL: Sort builtin IO block members by builtin type.
b4aa6dacfa MSVC: Add /bigobj for debug builds.
45818c14e4 Merge pull request #1648 from billhollings/msl-pad-arg-buff-structs
b3bfe22eaa MSL: Fixes to support padding Metal argument buffer entries based on argument index.
daba0dfba6 MSL: Fixes to support padding Metal argument buffer entries based on argument index.
9060e5a13c MSL: Fixes to support padding Metal argument buffer entries based on argument index.
9866cf4496 MSL: Fixes to support padding Metal argument buffer entries based on argument index.
6c0e11f907 Merge branch 'master' of https://github.com/billhollings/SPIRV-Cross into msl-pad-arg-buff-structs
582749ac68 Merge pull request #1650 from Dredhog/active-builtins-c-api
edde535574 c: Remove SPVC_PUBLIC_API prefix from API implementation
215f31b33f c: Add missing API to query active builtins.
17dab614dc MSL: Support padding Metal argument buffer entries based on argument index.
d2e1e7ba98 Fix Github CI in PRs.
28ae7b8f35 Merge pull request #1642 from mehmetoguzderin/msl-long-ulong-member
e2f7a753d2 Move condition to default block
0a0c9db9be MSL: Support long ulong types in buffers in 2.3+.
84d1f8aa2a Use Github actions CI tag.
2e000a0be4 Add GitHub Actions script.
60aa24566e Merge pull request #1633 from KhronosGroup/fix-1626
ee31e84e30 GLSL: Handle complex load/store scenarios to gl_SampleMask.
fb1f295aaf Merge pull request #1635 from KhronosGroup/fix-1627
5d846acee5 Merge pull request #1634 from KhronosGroup/fix-1625
0ac70fa7ca Merge pull request #1632 from KhronosGroup/fix-1629
4ca06c7278 Handle edge cases in OpCopyMemory.
aea6d29aa8 MSL: Add test for logical subgroup arith ops.
d6c2c1b39a HLSL: Support logical subgroup ops.
5570043af3 GLSL: Add support for Logical subgroup ops.
bc4cb1b3c5 Throw if SPIR-V module has no entry points.
d57ab68a21 Merge pull request #1630 from KhronosGroup/fix-1628
97796e0609 MSL: Deal with pointer-to-pointer qualifier ordering.
621884d709 Merge pull request #1622 from KhronosGroup/fix-1619
da238e5f12 Merge pull request #1623 from phuang/patch-2
c66a571057 Add two missing source files
b1e36a1f78 Merge pull request #1621 from KhronosGroup/fix-1618
85704f70bc MSL: Handle load and store to TessLevel array in TESC.
ce552f4f91 MSL: Gracefully assign automatic input locations to builtin attributes.
aa271c1460 MSL: Refactor out location consumption count computation.
6f1f6775f3 Add comment where aux image atomic buffers are reflected from.
92d379bab4 Merge pull request #1620 from phuang/patch-1
bc3416a18f Fix build errors on Windows
bae17e8204 Merge pull request #1617 from KhronosGroup/fix-1608
5789e3eed9 Merge pull request #1616 from KhronosGroup/fix-1609
daddbd4078 MSL: Fixup type when using tessellation levels in TESC functions.
0ad12a0036 MSL: Always return [[position]] when required.
05a1a07f70 Merge pull request #1615 from KhronosGroup/fix-1612
09dc76f68a c: Add missing IOS_SUPPORT_BASE_VERTEX_INSTANCE option.
8f5ab50fb8 Merge pull request #1614 from KhronosGroup/fix-1610
21a931613e HLSL: Add vector to illegal names list.
4741bbaa64 Merge pull request #1606 from billhollings/position-invariance
8e03cb60a5 Expose position invariance.
84a41cd488 Merge pull request #1603 from KhronosGroup/small-improvements
ea02a0c03a Check entry point variables in is_hidden_variables.
4bedad3860 Handle nonuniformEXT qualifier for acceleration structures.
7ab3f3f74e Deal better with CompositeExtract from constant composite.
66fb0bd9df GLSL: Handle tracing against incoming payload/callable.
9acb9ec31f Merge pull request #1594 from KhronosGroup/fix-1591
a5eaf2f44a Merge pull request #1595 from KhronosGroup/copyright-update
4704482bbc meta: Update copyright headers to 2021.
4c866e4662 Fix pathological complexity explosion for certain shaders.
820179bf46 Merge pull request #1590 from KhronosGroup/fix-1584
2097c30985 GLSL: Support both SPV_KHR_ray_tracing and NV_ray_tracing.
702c903f98 Merge pull request #1589 from KhronosGroup/roll-deps
ce18d1b8a5 CLI: Fix silly regression with handling of -V.
5d82d32e0f Roll dependencies.
0e5078dc0c Merge pull request #1588 from KhronosGroup/fix-1582
893a011299 MSL: Fix various bugs with framebuffer fetch on macOS and argument buffers.
3136e34215 MSL: Always use input_attachment_index for framebuffer fetch binding.
134a520034 Merge pull request #1587 from KhronosGroup/refactor-active-variable-consideration
03ee71e86c Add test for pure initializer gl_FragDepth.
3776d8978c GLSL: Force block declaration if clip/cull is used in tesc.
014b3bc5ea MSL: Make sure initialized output builtins are considered active.
a4a9b53b5b MSL: Always enable Outputs in vertex stages.
fa76d01203 MSL: Only consider builtin variables if they are part of IO interface.
c8837d7d80 MSL: Very slight refactor.
234c65c0f3 Merge pull request #1585 from KhronosGroup/fix-1569
72e9f619a9 Merge pull request #1583 from KhronosGroup/fix-1567
42ec132357 Merge pull request #1581 from KhronosGroup/fix-1554
c033a93951 GLSL: Fix -Wshadow error.
1a28a04333 GLSL: Update SPIR-V headers for modified ray tracing opcodes.
02b7f9cbe9 CLI: Add stdin support.
efed4c9738 MSL: Fix initializer for tess level outputs.
ab9200ffdf MSL: Don't flatten builtin arrays unless they're part of IO interface.
df4f8ef8fe MSL: Emit correct initializer for tessellation control points.
ad3e1584f9 MSL: Handle initializers for tess levels.
39fee93906 GLSL: Refactor out Output variable initialization.
6a3ea0385e GLSL: Add test for initializing tess level output.
175381fe08 GLSL: Handle some extreme edge cases in Output variable initialization.
7b7a21c405 Merge pull request #1578 from KhronosGroup/fix-1568
1a38fec382 Minor redundant nit.
a1c784f002 More robust handling of initialized output builtin variables.
9a304fe931 Handle output IO block initializers more robustly.
49ab12919c Merge pull request #1577 from KhronosGroup/fix-1574
3514c9ff33 Merge pull request #1576 from KhronosGroup/fix-1571
3a85d1c80c CMake: Disable compiler extensions explicitly.
ddb3c65648 Handle reserved identifiers for functions.
c4ff129fe3 MSL: Handle reserved identifiers for entry point.
e50f7d1ce8 Merge pull request #1566 from KhronosGroup/subgroup-table-fix
c8765a75f2 GLSL: Fix KHR subgroup extension table for subgroups.
762c3082ae Merge pull request #1564 from KhronosGroup/fix-1558
1eb42eb18c Merge pull request #1563 from KhronosGroup/fix-1559
a11c4780d0 GLSL: Emit nonuniformEXT in correct place for late-combined samplers.
dc940846d7 GLSL/HLSL: Disallow VariablePointers capability outright.
6d10da0224 Merge pull request #1553 from comex/no-subgroups-in-vertex-shaders
f41b59b36e Merge pull request #1557 from KhronosGroup/mit-dual-license-api
cf1e9e0643 Add MIT dual license for the SPIRV-Cross API.
0b79db773f Merge branch 'master' of git://github.com/js6i/SPIRV-Cross
c09a65c12d MSL: Added fmin3 and fmax3 library functions to the illegal name list.
5a85fa9400 msl: Don't try to use [[thread_index_in_simdgroup]] in vertex shaders.
be527632a6 Merge branch 'unused' of git://github.com/comex/SPIRV-Cross
c80cbde7aa spirv_msl: Don't add fixup hooks for builtin variables if they're unused.
3d16060c32 Merge pull request #1551 from cdavis5e/msl-subgroup-inactive-ballot-mask
1e67b21ee9 MSL: Don't mask off inactive bits in ballot masks.
1f178be3c9 Merge branch 'msl-sample-rate-position' of git://github.com/cdavis5e/SPIRV-Cross
fd738e3387 MSL: Adjust FragCoord for sample-rate shading.
782916a797 Merge pull request #1549 from KhronosGroup/various-fixes
e07f0a9df5 GLSL: Fix buffer_reference with aliased names.
c5826b4b69 GLSL: Emit storage qualifiers for buffer_reference.
650b5e1b12 HLSL: Fix validation with FXC for test.
6a614cc7f7 Normalize all internal workaround methods to use spv prefix.
35d3b9c3e7 Merge branch 'msl-subgroup-ops-2' of git://github.com/cdavis5e/SPIRV-Cross
dabdf4eff6 Merge pull request #1547 from scribam/cmake-minimum-required
1eb4852856 CMake: Set minimum required version to 3.0
68908355a9 MSL: Expand subgroup support.
58291963c6 Merge branch 'glsl-vertex-attrib-64bit' of git://github.com/rdb/SPIRV-Cross
df5e3730ca GLSL: Require GL_ARB_vertex_attrib_64bit for double input in pre-4.10
b3c59263a0 Merge pull request #1541 from cdavis5e/msl-ios-features
88e25e60ec MSL: Expose some more features on iOS.
1ee2d13873 MSL: Add missing reference file.
ef0256c23e Fix switch fallthrough
0d6fad4ab9 Merge branch 'extract_subgroup_ops' of git://github.com/js6i/SPIRV-Cross
9c2c0a23b9 Merge pull request #1533 from rdb/texture-fetch-size-fallbacks
10fa5f62aa GLSL: Legacy / extension fallbacks for textureSize and texelFetch
f0239bce05 MSL: extract global variables from subgroup ballot operations
6fc2a0581a Run format_all.sh.
71fcf0d9e6 Update texture gather test result.
008f3baad7 Merge branch 'arb-texture-gather' of git://github.com/rdb/SPIRV-Cross
46bf1e99d6 Merge pull request #1525 from cdavis5e/msl-interpolation-functions
509908d8db GLSL: Add error checking and extension fallback for textureGather
683c3f5c3f Merge pull request #1530 from rdb/legacy-glsl-round
ea334c14bc Merge pull request #1527 from rdb/legacy-transpose
2417010046 Merge pull request #1528 from rdb/fix-legacy-vertex-shader-lod
1648747fa7 Merge pull request #1529 from KhronosGroup/fix-msl-gather-regression
b3bd674aa7 GLSL: Remove unused `lod` argument from legacy_tex_op()
bf71994dae GLSL: implement transpose() in GLSL 1.10 / ES 1.00
9e6e5d2738 GLSL: Fix round/roundEven for legacy GLSL.
e8c500ceef GLSL: Fix support for textureLod in legacy vertex shaders
db13762297 MSL: Fix regression in image gather handling.
aca9b6879a MSL: Support pull-model interpolation on MSL 2.3+.
a20c768698 Merge pull request #1524 from rdb/hlsl-round-even
854f566869 HLSL: Support roundEven() in HLSL SM 4.0 and above
2e1bdeb212 Merge pull request #1520 from rdb/dx9-dref-samplers
135933d59e HLSL: Add regression test for SM3.0 texture samplers
18893ba3b9 HLSL: Support depth comparison texture sampling in SM 2/3.
fc644b50e6 Merge pull request #1523 from KhronosGroup/fix-1512
512e851185 Merge pull request #1522 from KhronosGroup/fix-1510
b3344174f7 HLSL: Add option to flatten matrix vertex input semantics.
1f018b0fb8 Parser: Don't assume OpTypePointer will always take a SPIRType.
244839d350 Merge pull request #1516 from billhollings/VK_EXT_descriptor_indexing
4bdd49df3f Syntax and format updates from code review.
c5a3f37a1c Merge pull request #1519 from cdavis5e/msl-mac-comparison-bias-grad
dcd66c283c Merge pull request #1521 from devshgraphicsprogramming/master
6402586015 Updated ref file for subgroups_basicvoteballot.vk.comp
9a1af25f02 Merge pull request #2 from KhronosGroup/master
6c5f394b09 Fix some bad assumptions about emulating `subgroupBarrier`
7f67abe0fe Minor format and typo updates from code review.
547c29f7bb MSL: Allow Bias and Grad arguments with comparison on Mac in MSL 2.3.
8884b34940 Merge pull request #1517 from atyuwen/master
303f813166 Merge pull request #1518 from KhronosGroup/fix-nonuniform-bracket-handling
439b666829 GLSL: Fix nonuniformEXT injection.
871a023877 fixed compile error with -std=c++20
541a801fed Merge pull request #1514 from cdavis5e/msl-mac-framebuffer-fetch
c8a43876c7 added metal keyworld: "level" (#1501)
b7b0e804e5 MSL: Support run-time sized image and sampler arrays (GL_EXT_nonuniform_qualifier/SPV_EXT_descriptor_indexing).
c20d5945a2 MSL: Allow framebuffer fetch on Mac in MSL 2.3.
78c6d2d628 Merge pull request #1509 from cdavis5e/mac-post-depth-coverage
08e49bfd67 Merge pull request #1508 from KhronosGroup/fix-1507
346b0b6c21 Merge pull request #1493 from KhronosGroup/ubo-row-major-load-workaround
d48d2a95c7 MSL: Allow post-depth coverage on Mac in MSL 2.3.
542d460364 Handle case where block is loop header, continue AND break block.
e47561a28b GLSL: Support a workaround for loading row-major matrices.
5ae9153a78 Merge pull request #1505 from cdavis5e/msl-vertex-writes
1b6b9705e6 MSL: For 2.1+, don't disable rasterization for vertex writes.
1a95017d11 Merge pull request #1503 from KhronosGroup/travis-python-update
b3a74f3a22 Merge pull request #1504 from KhronosGroup/fix-1502
f65f259ab7 MSL: Do not use component::x gather for depth2d textures.
1d68cbfb1b Update TravisCI python reference.
dd35821f2f Merge pull request #1499 from cdavis5e/subgroup-fixes
1264e2705e MSL: Cast broadcast booleans to ushort.
065b5bda3c MSL: Mask ballots passed to Ballot bit ops.
781367d083 MSL: Support vectors with OpGroupNonUniformAllEqual.
6ccb902462 MSL: Correct definitions of subgroup ballot mask variables.
a57b4b1b2e Merge pull request #1498 from cdavis5e/msl-swizzle-arrayed-nonconstant
064ed448b9 MSL: Don't remove periods from swizzle buffer index exprs.
7b80307a7d Merge pull request #1495 from cdavis5e/1d-2d-offset-grad
5845e009ea MSL: Handle Offset and Grad operands for 1D-as-2D textures.
0db1569e97 Merge pull request #1492 from KhronosGroup/non-native-matrix-fix
9c220a8247 Merge pull request #1490 from KhronosGroup/fix-1488
23a0cfc842 Merge pull request #1494 from cdavis5e/msl-tesc-tess-level-cast
3e6010d8c5 MSL: Don't use a bitcast for tessellation levels in tesc shaders.
120af42616 GLSL: Use need_transpose when checking for non-native matrix.
bd1ee4344e MSL: Support querying and modifying generated combined sampler suffix.
7332b44c3c Merge pull request #1489 from cdavis5e/msl-fix-atomic-image-coord
21d38f74ce MSL: Fix calculation of atomic image buffer address.
e827a06984 Merge pull request #1487 from cdavis5e/msl-atomic-image-interlock
7a5d0d6b29 MSL: Add missing interlock handling to atomic image buffers.
fab6ad234e Merge pull request #1486 from cdavis5e/atomic-image-argument-buffer
cc7aabce72 Merge pull request #1485 from cdavis5e/msl23-demote-to-helper
9cafea6cf8 MSL: Support atomic access to images from argument buffers.
2219c4a392 MSL: Support SPV_EXT_demote_to_helper_invocation for MSL 2.3.
401af49326 Merge pull request #1482 from KhronosGroup/gl-subgroup-merge
5619329665 Style nits for GL subgroup implementation.
a6f6547cf1 Add missing VK variant of the test file.
28994a3186 Update GL subgroup test file.
819c599ecd Merge branch 'issues1350-2' of git://github.com/devshgraphicsprogramming/SPIRV-Cross into master
db52e277b9 Resolved issues 1350, 1351, 1352
5cc2e4f634 Merge pull request #1475 from KhronosGroup/fix-1474
e0c9aad934 GLSL: Add support for transform_feedback3 geometry streams.
7a99d1cb72 GLSL: Use literal array size for cull/clip array sizes.
e6f5ce6b89 Merge pull request #1471 from KhronosGroup/fix-1467
6254be910e Merge pull request #1470 from KhronosGroup/fix-1469
34a6a45fba Work around MSVC warning.
5ea576ece2 Allow flip_vert_y in all relevant stages.
ea3cd74426 Merge pull request #1468 from dj2/roll-09-22
9880b05572 Roll dependencies.
8891bd3512 Merge pull request #1466 from KhronosGroup/fix-1465
2144274a91 Clean up conditional branch codegen.
54cc0b01f6 Deal with case where a selection construct conditionally merges/breaks.
16d9fea77c Merge pull request #1463 from KhronosGroup/fix-1462
66afe8c499 Implement a simple evaluator of specialization constants.
bdbef7b1f3 Merge pull request #1461 from Kangz/fix-warnings
bcd71536e2 Fix -Wduplicate-enum and -Wrange-for-analysis.
ba2d0e17d3 Merge pull request #1460 from KhronosGroup/fix-1458
446596643a Roll glslang/SPIRV-Tools deps.
18d03b3ea6 Handle OpUndef %void.
bad9dab8df Merge pull request #1457 from cdavis5e/msl-layered-subpass-data
4cf840ee7b MSL: Support layered input attachments.
c7507e39d4 Merge pull request #1456 from KhronosGroup/fix-1455
3360daa6f3 MSL: Fix OpCompositeInsert and OpVectorInsertDynamic.
9e3dbdc8d6 Merge pull request #1454 from cdavis5e/msl-multiview-non-layered
cab7335e64 MSL: Don't set the layer for multiview if the device doesn't support it.
4752a44f9e Merge pull request #1453 from cdavis5e/msl-multiview-base-instance
53080ecca8 MSL: Fix multiview view index calculation with a non-zero base instance.
685f86471e Merge pull request #1452 from KhronosGroup/minor-nits
95993f78af Run format_all.sh.
ee1b4e7042 Work around annoying warning on GCC 10.2.
eec76b04c7 Merge pull request #1450 from KhronosGroup/fix-1440
a07441568e Overhaul how we deal with reserved identifiers.
f0fe4442e3 Merge pull request #1448 from KhronosGroup/fix-1437
4f0f0e5a07 Merge pull request #1449 from KhronosGroup/fix-1443
fdbc80d131 HLSL: Fix FragCoord.w.
fad36a6b28 HLSL: Deal with partially filled 16-byte word in cbuffers.
dd1f53ff15 HLSL: Fix bug in is_packing_standard for cbuffer.
4c7944bb42 Merge pull request #1446 from kakashidinho/master
ab8eb70af1 Fix #1445: MSL: Enclose args when convert distance(a,b) to abs(a-b)
82d1c43e40 Merge pull request #1441 from cdavis5e/msl-tesc-composite-out
3347b1076d MSL: Fix handling of matrices and structs in the output control point array.
c333445ada Merge pull request #1436 from KhronosGroup/fix-1408
8a1843ab20 Add some test cases for complex type aliasing scenario.
eb580d6656 Ensure that we use primary alias type when emitting flattened members.
aac6885950 GLSL: Be more aggressive about using type_alias.
038b0bf238 Only rewrite type aliases for the base type.
7778792aec Merge pull request #1434 from KhronosGroup/glsl-force-flattened-io
57c93d44ac GLSL: Add option to force flattening IO blocks.
f5e9f4a172 Merge pull request #1432 from ponitka/hlsl-sample-mask
ba58f78395 Adding BuiltInSampleMask in HLSL
0376576d2d Merge pull request #1429 from ponitka/master
18f23c47d9 Enabling setting a fixed sampleMask in Metal fragment shaders.
934825a6a2 Merge pull request #1294 from cdavis5e/msl-multi-patch-workgroup
688c5fcbda MSL: Add support for processing more than one patch per workgroup.
3dcc23a5b3 Merge pull request #1431 from dj2/roll-07-22
ac08a89cf0 Merge pull request #1430 from cdavis5e/msl-refactoring
c4f3d4ae29 Roll GLSLang, SPIRV-Headers and SPIRV-Tools.
884bc6df65 MSL: Factor creating a uint type into its own method.
5e13f7fdf2 MSL: Factor a really gnarly condition into its own method.
6575e451f5 Merge pull request #1423 from KhronosGroup/msvc-2013-fix
36c999ae3f MSVC 2013: Fix silently broken builds.
39ce5b46de Merge pull request #1421 from troughton/patch-3
b74a84e4cb MSL: Ensure OpStore source operands are marked for inclusion in function arguments
559b21c6c9 Merge pull request #1420 from dj2/roll-07-06
63fbdaca93 Roll deps.
3b366db7f1 Merge pull request #1416 from KhronosGroup/fix-1415
711300baed MSL: Do not emit swizzled writes in packing fixups.
fa5b206d97 MSL: Workaround broken vector -> scalar access chain in MSL.
fab75792a9 Merge pull request #1419 from KhronosGroup/msl-input-attachment-index-fallback
e1600d4df8 MSL: Use input attachment index directly for resource index fallback.
c465cd5004 Merge pull request #1417 from KhronosGroup/fix-351
2ac8f51b06 GLSL: Support I/O flattening with arrays as final type.
2d43103a55 GLSL: Support multi-level struct flattening for I/O.
d573a95a9c Run format_all.sh.
8f716947c2 test: Use --hlsl-dx9-compatible when attempting to compile SM 3.0 shaders.
2894b40868 Merge pull request #1412 from KhronosGroup/fix-1411
70f17142de GLSL: Fix nested legacy switch workarounds.
b1082c10af Merge pull request #1410 from KhronosGroup/fix-1406
42096ca4a1 Merge pull request #1409 from KhronosGroup/fix-1405
4d79d634f5 GLSL: Implement switch on ESSL 1.0.
bae76d7915 GLSL: Use for-loop fallback instead of do/while for legacy ESSL.
3afbfdb090 Implement context-sensitive expression read tracking.
05188aca69 Fix bug with control dependent expression tracking.
2e7a562583 Merge pull request #1404 from KhronosGroup/fix-1402
eb0f0323d3 HLSL: Workaround FXC bugs with degenerate switch blocks.
f9ae06512e Merge pull request #1401 from dj2/roll-deps-22
9eb615c63b Merge pull request #1400 from KhronosGroup/fix-1399
0abc017501 Roll deps and update tests.
f9da366ae6 MSL: Remove the old VertexAttr API.
7edaea87cf Merge pull request #1398 from Kangz/fix-deprecation
6add77aa97 Merge pull request #1397 from KhronosGroup/fix-1396
8aee532f56 Fix placement of SPIRV_CROSS_DEPRECATED.
f141521ebe Fix duplicated initialization for loop variables with initializers.
d7976b7b24 Merge pull request #1395 from KhronosGroup/fix-1394
ace4d25222 MSL: Add test case for constructing struct with non-value-type array.
7314f51a32 MSL: Deal with loading non-value-type arrays.
02db4c1f16 MSL: Add tests for array copies in and out of buffers.
03d4bcea68 MSL: Improve handling of array types in buffer objects.
11832b6e14 Clean up some deprecation warnings when building with Makefile.
5e509b159a Remove unused member in MSLShaderInput.
a64484f62b Merge pull request #1392 from cdavis5e/msl-frag-input-vecsize
5281d9997e MSL: Fix up input variables' vector lengths in all stages.
7073ed2edb Merge pull request #1393 from KhronosGroup/fix-1391
d13dc0ce47 HLSL: Fix texProj in legacy HLSL.
9e3df69d4e Merge pull request #1390 from rdb/master
031cbaa5a2 GLSL: Require GL_ARB_draw_instanced for gl_InstanceID in GLSL < 1.40
92fcd7d2b0 Merge pull request #1389 from KhronosGroup/sparse-clamp
f383cc98f2 GLSL: Handle the rest of GL_ARB_sparse_texture_clamp.
bbefea2b02 Merge pull request #1388 from KhronosGroup/uint-sparse-residency-query
857e1c445c GLSL: Support uint code for sparse residency query.
553a7f959b Merge pull request #1385 from KhronosGroup/fix-1237
cbe0cca73b Refactor texture fetch function generation.
b73c047faf Merge pull request #1387 from Lichtso/master
1f5875e23e Fix missing switch cases in Y'CbCr conversion
3ce81c0025 Merge pull request #1384 from KhronosGroup/fix-1380
757c10bbe4 Merge pull request #1383 from KhronosGroup/fix-1381
275974e062 GLSL: Implement sparse feedback.
6600793884 MSL: Remove obsolete MSLVertexAttr members.
2d5200650a HLSL: Add native support for 16-bit types.
d385bf096f Merge pull request #1378 from bbernhar/issue_410
32bead81c8 Prefer set/binding API
999a7b5256 Merge pull request #1379 from KhronosGroup/fix-1377
165392a2b0 Document all CLI options.
d31bc0247e Do not mask writes to remapped variables in all cases.
17bccc9f7e HLSL: Add option to treat certain SSBO bindings as UAV, even with readonly.
61cddd6307 Merge pull request #1376 from KhronosGroup/fix-1374
58dad82fcb Handle physical pointers in reflection API.
f992548434 Merge pull request #1372 from KhronosGroup/gl-draw-parameters
ef247e75ec GLSL: Improve support for GL_ARB_shader_draw_parameters in desktop GLSL.
ec558bc98e Merge pull request #1371 from dj2/roll-deps-21
3d01d1bf50 Roll SPIRV-Tools, SPIRV-Headers and GLSLang.
287e93ff80 Merge pull request #1370 from dj2/roll_deps_20
29ad40e93e Merge pull request #1369 from KhronosGroup/more-rt-tests
8bf916f575 Roll dependencies
b4dd0b6fb1 GLSL: Add more test shaders for hit attribute types.
66ec3e3e54 GLSL: Support ray payloads and hit attributes declared as Block.
271ad33380 GLSL: Add some more focused RT test shaders.
3c43f055df Merge pull request #1366 from KhronosGroup/fix-1365
f3a362b1aa HLSL: Implement image queries for UAV images.
d638d2df9c Merge pull request #1363 from KhronosGroup/rt-gl-instance-id
86380acf4d Support gl_InstanceID in RT shaders.
b7823ec389 Merge pull request #1361 from KhronosGroup/msl-single-element-array-refinement
107ab7c2b7 MSL: Avoid packed arrays in more cases.
de3698f0e0 Add missing reference files from PR merge.
b8ba89a1ac Merge branch 'master' of git://github.com/kakashidinho/SPIRV-Cross
9ddfe6db6d Fix #1359: MSL: If the packed type is scalar, don't emit "pack_" prefix.
92f7d36c72 Merge pull request #1356 from KhronosGroup/fix-1354
0ebb88cc39 MSL: Redirect member indices when buffer has been sorted by Offset.
137dbeb7f1 Merge pull request #1355 from Kangz/fix-microsoft-enum-value
a3a590a82e Fix -Wmicrosoft-enum-value
7e0295abf8 Merge pull request #1353 from zoddicus/updateSPIRVHeaders
76658247ac Update SPIR-V Headers to 1.5 rev 3
471990d4dc Merge pull request #1349 from KhronosGroup/fix-1348
35a9b793d6 Work around odd deadlock in test_shaders.py in --parallel mode.
d7d630a0b7 Merge pull request #1347 from KhronosGroup/fix-1343
4330b046be Merge pull request #1346 from KhronosGroup/fix-1340
9b7140e2ba Implement OpAtomicLoad/OpAtomicStore.
cbaaa02af9 Merge pull request #1345 from apayen/master
6ef47d6657 MSL: Fix case where subpassInput is passed to leaf functions.
4edfe96739 Fixed recursion in combined_decoration_for_member Members in nested structs were not properly iterated on, and as a result, flags like row major for matrices could be not propagated properly.
7ba0f8f087 Merge pull request #1342 from dj2/roll
171c646474 Roll GLSLang, SPIRV-Tools and SPIRV-Headers.
1ad1662a2b Merge pull request #1339 from KhronosGroup/fix-1338
5e5d1c27ce GLSL: Support f16x2 <-> f32 bitcast.
c58839bfd4 Merge pull request #1336 from KhronosGroup/fix-1333
bf289c37a2 Merge pull request #1337 from KhronosGroup/nonuniform-propagation-fix
bdb343ea06 Be a bit more careful what nonuniform state is propagated.
6b0e558169 Handle RayQueryKHR type.
78b4d9379b Update SPIR-V headers.
b2e934b53f Merge pull request #1328 from devshgraphicsprogramming/patch-1
5cb0f0a640 Merge pull request #1335 from KhronosGroup/fix-1325
127224d816 Fix issue #1327
58548e25a2 Merge pull request #1334 from KhronosGroup/fix-1332
7b9cba7424 HLSL: Add parens in unpackUint2x32 for clarity.
e4e4791c4e HLSL: Only allow 64-bit integers in SM 6.0.
a396744f89 Ensure unpack/pack2x32 tests are compatible with test suite.
55dfbead2f GLSL/HLSL: Support packUint2x32 and unpackUint2x32
f8592ecdfc MSL: Deal correctly with initializers on Private variables.
3fb86e4385 Merge pull request #1331 from KhronosGroup/fix-1321
17ad62eea4 MSL: Support edge case with DX layout in scalar block layout.
f38cbeb814 Merge pull request #1330 from KhronosGroup/fix-1320
ebf463674d MSL: Allow removing clip distance user varyings.
aa5fbc004b Merge pull request #1329 from godlikepanos/master
b3109b8ad0 Reflection: Add specialization constant name
90198199df Merge pull request #1324 from cdavis5e/msl-disabled-builtin-names
96f7008aa8 MSL: Force disabled fragment builtins to have the right name.
fbc560782c Merge pull request #1323 from cdavis5e/msl-disable-frag-only
495e48de44 MSL: Only disable output variables in fragment shaders.
54658d6255 Merge pull request #1319 from cdavis5e/msl-frag-outputs
b29f83c383 MSL: Add options to control emission of fragment outputs.
fcbc590937 Merge pull request #1316 from Malacath-92/master
4560ee24fd Improve compatibility with clang-cl
a1d9b474b5 Merge pull request #1314 from KhronosGroup/fix-1313
c7b75a8fe6 MSL: Do not use base expression with PhysicalTypeID OpCompositeExtract.
6637610b16 Merge pull request #1309 from KhronosGroup/fix-1305
941cceedb4 Expose a query if samplers or images are comparison resources.
b691b7d1e3 Do not add NonWritable/NonReadable decorations for regular images.
14f24d71ab Merge pull request #1308 from KhronosGroup/fix-1306
cfcd84319b Merge pull request #1310 from KhronosGroup/msl-force-declare-implicit-builtins
d9d3359ffb MSL: Deal with cases where builtin is implicitly needed, declared, but unused.
01cee74b02 Merge pull request #1307 from troughton/patch-1
28bf9057df HLSL: Add support for treating NonWritable UAV texture as SRV instead.
4cf736d753 MSL: mark BuiltInFragCoord as implicitly used for subpass reads
e58e8d5dbe Merge pull request #1303 from KhronosGroup/fix-1302
3cb6aeb480 MSL: Fix access chain for deep struct hierarchy on array of buffers.
84ec99c531 Merge pull request #1301 from dj2/roll_deps
32307df73a Roll GLSLang, SPIRV-Tools and SPIRV-Headers
9b3c5e12be Merge pull request #1299 from KhronosGroup/fix-1298
b8905bbd95 Add support for forcefully zero-initialized variables.
871c85d7f0 Merge pull request #1297 from KhronosGroup/fix-1295
04e877df12 GLSL: Implement GL_EXT_shader_framebuffer_fetch.
c2655ab291 Run format_all.sh.
c3d216c011 Merge pull request #1296 from KhronosGroup/fix-1292
05004a57ea GLSL/HLSL: Fix nonuniform qualifier for SSBO atomics.
a3d3c80dd7 GLSL/HLSL: Implement nonuniform qualifier for image atomics.
65aa0c35d6 include/spirv_cross: Fix typo.
7d42fd7f7b Merge pull request #1290 from KhronosGroup/fix-1289
185551bfaf HLSL: Do not emit globallycoherent for SRV ByteAddressBuffer.
d19f30a90e Merge pull request #1287 from KhronosGroup/read-write-decoration-tweaks
95cd20f1c7 Add test for disable-storage-image-qualifier-deduction.
c27e1efbf1 HLSL: Add option to always treat SSBO as UAV, even with readonly.
01968c4486 Add option to disable storage image qualifier deduction.
3ebc83da46 Remove old hack which forces NonWritable/NonReadable.
9deb6ffbba Merge pull request #1285 from KhronosGroup/vulkan-semantics-shorthand
3f2de0d5d3 Add -V alias for --vulkan-semantics.
c5f7b55756 Merge pull request #1284 from KhronosGroup/fix-1282
16796e92be MSL: Add C API for force native arrays.
d91e134500 MSL: Add native array test for composite array initialization.
30343f3e95 MSL: Reintroduce workaround for constant arrays being passed by value.
20b28f72fa MSL: Reinstate workaround for returning arrays.
c9d4f9cd74 MSL: Add a workaround path to force native arrays for everything.
f19fdb94d7 Merge pull request #1283 from dj2/roll
7ec16b64c8 Roll GLSLang, SPIRV-Tools and SPIRV-Headers
dffd33dd9d Merge pull request #1280 from KhronosGroup/fix-1278
92a4294c57 Reject SPIR-V modules with garbage ID bound.
c53b34765d Merge pull request #1277 from KhronosGroup/fix-1276
e81c1b1d98 HLSL: Declare undef variables as static.
7ac5c38838 Merge pull request #1275 from KhronosGroup/fix-1274
cec0502ba5 Remove old memory_scope flag from iOS barriers.
6b2add8e2c Merge pull request #1272 from KhronosGroup/fix-1271
6f5cb00148 Use GNUInstallDirs for include path as well.
cb0aca91ef Merge pull request #1273 from orbea/cmake
8b90526911 cmake: Don't hardcode the pkg-config file.
74544caa16 cmake: Use GNUInstallDirs.
d67c3393da CMake: Avoid warning when parent project uses VERSION in project().
68bf0f824c Merge pull request #1270 from KhronosGroup/fix-1266
dfffbb1cf3 Compile fix on older compilers.
655312cb47 GLSL: Support GL_ARB_enchanced_layouts for XFB.
306cb31bad Merge pull request #1239 from cdavis5e/msl-inline-uniform-blocks
ae6c05f6f4 MSL: Move inline uniform blocks to the end of the argument buffer.
fedbc35315 MSL: Support inline uniform blocks in argument buffers.
f9376058ce Merge pull request #1269 from KhronosGroup/fix-1267
8bbb5fb763 Make SmallVector noexcept.
883de24f79 Merge pull request #1268 from barath121/patch-1
eac76d9473 Typo at line 324
f9818f0804 Update license headers to 2020.
7a411258af Run format_all.sh.
af787a8a79 Merge pull request #1264 from KhronosGroup/msl-argument-buffer-persist
4054d650cf Merge pull request #1263 from KhronosGroup/fix-1232
c3bd136df1 MSL: Add suppor…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests