platform/upstream/glslang.git
6 years agoSPV: Add SPIRV-Tools validator. This needs the latest SPIR-Tools.
John Kessenich [Wed, 22 Aug 2018 23:17:07 +0000 (17:17 -0600)]
SPV: Add SPIRV-Tools validator. This needs the latest SPIR-Tools.

6 years agoNon-functional: Rationalize some existing use of SPIRV-Tools.
John Kessenich [Wed, 22 Aug 2018 23:12:46 +0000 (17:12 -0600)]
Non-functional: Rationalize some existing use of SPIRV-Tools.

6 years agoMerge pull request #1480 from dneto0/stringify
John Kessenich [Mon, 20 Aug 2018 15:07:12 +0000 (08:07 -0700)]
Merge pull request #1480 from dneto0/stringify

Use our own SPIRV-Tools message stringifier

6 years agoUse our own SPIRV-Tools message stringifier
David Neto [Mon, 20 Aug 2018 14:36:27 +0000 (10:36 -0400)]
Use our own SPIRV-Tools message stringifier

Stop including an internal SPIRV-Tools header. It has been
deleted.

Fixes #1477

6 years agoMerge pull request #1474 from KhronosGroup/pure-8-16-bit-capability
John Kessenich [Sat, 18 Aug 2018 00:00:04 +0000 (17:00 -0700)]
Merge pull request #1474 from KhronosGroup/pure-8-16-bit-capability

SPV: only declare the pure 8/16-bit capabilities when needed.

6 years agoMerge pull request #1476 from greg-lunarg/kg24
John Kessenich [Fri, 17 Aug 2018 19:46:32 +0000 (12:46 -0700)]
Merge pull request #1476 from greg-lunarg/kg24

Update SPIRV-Tools known good.

6 years agoUpdate SPIRV-Tools known good.
GregF [Thu, 16 Aug 2018 21:34:36 +0000 (15:34 -0600)]
Update SPIRV-Tools known good.

Includes:

    Update OpPhi instructions after splitting block. (#1783)
    Don't change decorations and names in merge return. (#1777)
    Transform to combine consecutive access chains
    Handle undef literal value in vector shuffle
    Fix block ordering in dead branch elim
    Fix finding constant with particular type. (#1724)
    Fix infinite loop while folding OpVectorShuffle (#1722)
    Fix size error when folding vector shuffle. (#1721)
    Layout validation: Permit {vec3; float} tight packing

6 years agoSPV: only declare the pure 8/16-bit capabilities when needed.
John Kessenich [Wed, 15 Aug 2018 19:54:09 +0000 (13:54 -0600)]
SPV: only declare the pure 8/16-bit capabilities when needed.

Only when operations stray outside the 8/16-bit storage-capabilities
are the general (pure 8/16-bit) capabilities needed.

6 years agoSPV: More corrections of <id> versus "immediate" operands.
John Kessenich [Tue, 14 Aug 2018 19:31:43 +0000 (13:31 -0600)]
SPV: More corrections of <id> versus "immediate" operands.

6 years agoSPV: Correct SPIR-V operands for <id> versus immediate.
John Kessenich [Tue, 14 Aug 2018 03:37:59 +0000 (21:37 -0600)]
SPV: Correct SPIR-V operands for <id> versus immediate.

6 years agoBump version patch level.
John Kessenich [Mon, 13 Aug 2018 07:32:56 +0000 (01:32 -0600)]
Bump version patch level.

6 years agoFix #1471: Merge shift amounts for different sets: --stb ... --std ...
John Kessenich [Mon, 13 Aug 2018 04:05:59 +0000 (22:05 -0600)]
Fix #1471: Merge shift amounts for different sets: --stb ... --std ...

6 years agoFix #1393: rationalize usage, in the spirit of #1393.
John Kessenich [Mon, 13 Aug 2018 03:24:55 +0000 (21:24 -0600)]
Fix #1393: rationalize usage, in the spirit of #1393.

Order is kept about the same.

6 years agoBump revision.
John Kessenich [Thu, 9 Aug 2018 20:17:52 +0000 (14:17 -0600)]
Bump revision.

6 years agoFix #1468: Add command-line --entry-point support, same as existing -e.
John Kessenich [Thu, 9 Aug 2018 20:15:00 +0000 (14:15 -0600)]
Fix #1468: Add command-line --entry-point support, same as existing -e.

6 years agoFix #1469: Make it easier to copy/paste build instructions.
John Kessenich [Thu, 9 Aug 2018 19:56:57 +0000 (13:56 -0600)]
Fix #1469: Make it easier to copy/paste build instructions.

6 years agoMerge pull request #1466 from Kangz/warning_fixes
John Kessenich [Thu, 9 Aug 2018 19:49:56 +0000 (12:49 -0700)]
Merge pull request #1466 from Kangz/warning_fixes

Fix -Wignored-qualifier and -Wunused-variable warnings

6 years agoMerge pull request #1470 from antiagainst/patch-2
John Kessenich [Thu, 9 Aug 2018 19:34:46 +0000 (12:34 -0700)]
Merge pull request #1470 from antiagainst/patch-2

Appveyor CI: build artifacts for x64

6 years agoAppveyor CI: build artifacts for x64
Lei Zhang [Thu, 9 Aug 2018 17:36:17 +0000 (13:36 -0400)]
Appveyor CI: build artifacts for x64

Fixes https://github.com/KhronosGroup/glslang/issues/1396

6 years agoFix -Wignored-qualifier and -Wunused-variable warnings
Corentin Wallez [Wed, 8 Aug 2018 13:20:15 +0000 (15:20 +0200)]
Fix -Wignored-qualifier and -Wunused-variable warnings

6 years agoMerge pull request #1460 from KhronosGroup/postprocess
John Kessenich [Mon, 6 Aug 2018 07:46:27 +0000 (00:46 -0700)]
Merge pull request #1460 from KhronosGroup/postprocess

Non-Functional: Add postprocess as more robust way to add capabilities

6 years agoNon-Functional: Add postprocess as more robust way to add capabilities
John Kessenich [Fri, 3 Aug 2018 21:56:12 +0000 (15:56 -0600)]
Non-Functional: Add postprocess as more robust way to add capabilities

When capabilities are needed for specific SPIR-V instructions, it is
fragile to do so based on GLSL/AST usage; it should be based on actual
instructions they got translated to.

6 years agoMerge pull request #1459 from dgkoch/dgkoch_build_fixes4
John Kessenich [Wed, 1 Aug 2018 21:28:57 +0000 (14:28 -0700)]
Merge pull request #1459 from dgkoch/dgkoch_build_fixes4

Fix various build warnings/errors

6 years agoFix build warnings/errors:
Daniel Koch [Fri, 27 Jul 2018 21:20:49 +0000 (17:20 -0400)]
Fix build warnings/errors:

1) On some old versions of MSVC:

glslang\MachineIndependent\Constant.cpp(187): warning C4056: overflow in floating-point constant arithmetic

On this platform the definition of INFINITY is as follows:

#ifndef _HUGE_ENUF
   #define _HUGE_ENUF  1e+300  // _HUGE_ENUF*_HUGE_ENUF must overflow
#endif
#define INFINITY   ((float)(_HUGE_ENUF * _HUGE_ENUF))

Moving the negation outside the cast seems to resolve that issue.

2) Some Linux compilers were unhappy with lines 226/227

glslang/MachineIndependent/Constant.cpp: In member function 'virtual glslang::TIntermTyped* glslang::TIntermConstantUnion::fold(glslang::TOperator, const glslang::TIntermTyped*) const':
glslang/MachineIndependent/Constant.cpp:226:99: error: integer overflow in expression [-Werror=overflow]
 else if (rightUnionArray[i].getIConst() == -1 && leftUnionArray[i].getIConst() == -(int)0x80000000)
   ^~~~~~~~~~~~~~~~
glslang/MachineIndependent/Constant.cpp:227:48: error: integer overflow in expression [-Werror=overflow]
     newConstArray[i].setIConst(-(int)0x80000000);
                                                ^~~~~~~~~~~~~~~~

Moving the negation to the right side of the cast made those happy, but then some Windows compilers were unhappy:

glslang\MachineIndependent\Constant.cpp(226): warning C4146: unary minus operator applied to unsigned type, result still unsigned
glslang\MachineIndependent\Constant.cpp(227): warning C4146: unary minus operator applied to unsigned type, result still unsigned

which required adding on the "ll" suffix.

3) Android builds where unhappy with line 242:

glslang/MachineIndependent/Constant.cpp:242:100: error: comparison of integers of different signs: 'long long' and 'unsigned long long' [-Werror,-Wsign-compare]
                 else if (rightUnionArray[i].getI64Const() == -1 && leftUnionArray[i].getI64Const() == -0x8000000000000000ll)
                                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Adding an explicit (long long) cast resolved this.
And the negation needs to be on the right side of the cast otherwise linux
builds are unhappy as in (2).

4) Android builds are unhappy with out of order initializers:

glslang/MachineIndependent/reflection.h:60:84: error: field 'type' will be initialized after field 'stages' [-Werror,-Wreorder]
glDefineType(pGLDefineType), size(pSize), index(pIndex), counterIndex(-1), type(pType.clone()), stages(EShLanguageMask(0)) { }
   ^
1 error generated.

Change-Id: Ic9a05fa7912498284885113d8b051f93f822f62b

6 years agoMerge pull request #1457 from KhronosGroup/parse-floats
John Kessenich [Fri, 27 Jul 2018 19:46:35 +0000 (12:46 -0700)]
Merge pull request #1457 from KhronosGroup/parse-floats

Tests: Add more string -> float tests. Related to #1456.

6 years agoPP: Address #1456: Strip float suffixes before using platform library.
John Kessenich [Fri, 27 Jul 2018 19:08:05 +0000 (13:08 -0600)]
PP: Address #1456: Strip float suffixes before using platform library.

6 years agoTests: Add more string -> float tests. Related to #1456.
John Kessenich [Fri, 27 Jul 2018 17:19:55 +0000 (11:19 -0600)]
Tests: Add more string -> float tests. Related to #1456.

6 years agoPP: floating-point parsing: more stable handling of istringstream::fail
John Kessenich [Thu, 26 Jul 2018 20:29:29 +0000 (14:29 -0600)]
PP: floating-point parsing: more stable handling of istringstream::fail

Possibly addresses #1456

6 years agoBump revision.
John Kessenich [Wed, 25 Jul 2018 21:33:34 +0000 (15:33 -0600)]
Bump revision.

6 years agoMerge pull request #1455 from TiemoJung/nullpointer_crash_fix
John Kessenich [Wed, 25 Jul 2018 18:13:05 +0000 (11:13 -0700)]
Merge pull request #1455 from TiemoJung/nullpointer_crash_fix

Fixes a crash when in/out varying variable had no semantic name and a…

6 years agoGLSL: No more restrictions on (non)shadow sampler construction.
John Kessenich [Wed, 25 Jul 2018 18:11:04 +0000 (12:11 -0600)]
GLSL: No more restrictions on (non)shadow sampler construction.

 Match https://github.com/KhronosGroup/GLSL/pull/22

6 years agoFixes a crash when in/out varying variable had no semantic name and an error was...
t.jung [Tue, 24 Jul 2018 11:22:21 +0000 (13:22 +0200)]
Fixes a crash when in/out varying variable had no semantic name and an error was reported in ioremapper phase when the variable was rejected

6 years agoMerge pull request #1451 from KhronosGroup/shadow-forces-depth
John Kessenich [Mon, 23 Jul 2018 23:41:00 +0000 (16:41 -0700)]
Merge pull request #1451 from KhronosGroup/shadow-forces-depth

GLSL/SPV: If a texture is used with a shadow sampler, force 'shadow'.

6 years agoHLSL: Fix #1445: distance() works on scalars.
John Kessenich [Mon, 23 Jul 2018 22:55:01 +0000 (16:55 -0600)]
HLSL: Fix #1445: distance() works on scalars.

6 years agoMerge pull request #1453 from greg-lunarg/kg22
John Kessenich [Mon, 23 Jul 2018 22:03:31 +0000 (15:03 -0700)]
Merge pull request #1453 from greg-lunarg/kg22

Update spirv-tools known good

6 years agoGLSL: Construct shadow texture from non-shadow sampler.
John Kessenich [Mon, 23 Jul 2018 21:59:09 +0000 (15:59 -0600)]
GLSL: Construct shadow texture from non-shadow sampler.

Tracks https://github.com/KhronosGroup/GLSL/pull/22.

6 years agoGLSL/SPV: If a texture is used with a shadow sampler, force 'shadow'.
John Kessenich [Sat, 21 Jul 2018 01:04:15 +0000 (19:04 -0600)]
GLSL/SPV: If a texture is used with a shadow sampler, force 'shadow'.

Fixes #854. But, only good if we are not trying to use the same
texture for both shadow and non-shadow constructors.

Force the type of the texture to have 'shadow' set when it is
constructed with a samplerShadow.

6 years agoUpdate spirv-tools known good
GregF [Mon, 23 Jul 2018 17:57:16 +0000 (11:57 -0600)]
Update spirv-tools known good

Includes the following:

Add Vulkan 1.1 capability sets
Don't merge types of resources
Remove stores of undef.
Make sure the constant folder get the correct type.

6 years agoMerge branch 'zeux-master'
John Kessenich [Fri, 20 Jul 2018 23:13:19 +0000 (17:13 -0600)]
Merge branch 'zeux-master'

6 years agoMerge branch 'master' of https://github.com/zeux/glslang into zeux-master
John Kessenich [Fri, 20 Jul 2018 21:28:38 +0000 (15:28 -0600)]
Merge branch 'master' of https://github.com/zeux/glslang into zeux-master

6 years agoMerge pull request #1450 from KhronosGroup/link-merge-all
John Kessenich [Fri, 20 Jul 2018 19:40:32 +0000 (12:40 -0700)]
Merge pull request #1450 from KhronosGroup/link-merge-all

Link: Merge all downstream consumed intermediate modes.

6 years agoLink: Merge all the settings in TIntermediate.
John Kessenich [Fri, 20 Jul 2018 05:10:32 +0000 (23:10 -0600)]
Link: Merge all the settings in TIntermediate.

Fixes #1309.

6 years agoMerge pull request #1436 from karl-lunarg/karl-ccache
John Kessenich [Thu, 19 Jul 2018 03:39:31 +0000 (20:39 -0700)]
Merge pull request #1436 from karl-lunarg/karl-ccache

build: Add ccache option to CMake config

6 years agoMerge pull request #1446 from KhronosGroup/spv-link
John Kessenich [Thu, 19 Jul 2018 00:29:17 +0000 (17:29 -0700)]
Merge pull request #1446 from KhronosGroup/spv-link

Link/SPV: Correct symbol IDs on merging ASTs to a single coherent space

6 years agoMerge pull request #1437 from mattparks/patch-2
John Kessenich [Thu, 19 Jul 2018 00:15:32 +0000 (17:15 -0700)]
Merge pull request #1437 from mattparks/patch-2

CMake options for postfix and SPVRemapper.

6 years agoMerge branch 'jeffbolznv-missing_descriptor_indexing_extension'
John Kessenich [Thu, 19 Jul 2018 00:11:16 +0000 (18:11 -0600)]
Merge branch 'jeffbolznv-missing_descriptor_indexing_extension'

6 years agoMerge branch 'missing_descriptor_indexing_extension' of https://github.com/jeffbolznv...
John Kessenich [Thu, 19 Jul 2018 00:10:45 +0000 (18:10 -0600)]
Merge branch 'missing_descriptor_indexing_extension' of https://github.com/jeffbolznv/glslang into jeffbolznv-missing_descriptor_indexing_extension

6 years agoLink/SPV: Correct symbol IDs on merging ASTs to a single coherent space
John Kessenich [Fri, 13 Jul 2018 16:40:40 +0000 (10:40 -0600)]
Link/SPV: Correct symbol IDs on merging ASTs to a single coherent space

This is one step in providing full linker functionality for creating
correct SPIR-V from multiple compilation units for the same stage.
(This was the only remaining "hard" part. The rest should be simple.)

6 years agoMerge pull request #1442 from dneto0/use-forked-android-ndk-repo
John Kessenich [Thu, 12 Jul 2018 22:07:51 +0000 (15:07 -0700)]
Merge pull request #1442 from dneto0/use-forked-android-ndk-repo

NDK build: Use NDK r17b and its own CMake toolchain file

6 years agoAdd missing OpExtension SPV_EXT_descriptor_indexing for dynamic indexing capabilities
Jeff Bolz [Thu, 12 Jul 2018 21:51:18 +0000 (16:51 -0500)]
Add missing OpExtension SPV_EXT_descriptor_indexing for dynamic indexing capabilities

6 years agoErrors and Build: Fix build warnings, which also improved error messages.
John Kessenich [Thu, 12 Jul 2018 21:11:07 +0000 (15:11 -0600)]
Errors and Build: Fix build warnings, which also improved error messages.

6 years agoNDK build: Use NDK r17b and its own CMake toolchain file
David Neto [Thu, 12 Jul 2018 18:49:26 +0000 (14:49 -0400)]
NDK build: Use NDK r17b and its own CMake toolchain file

More recent NDK releases have their own CMake toolchain file.
Use it.

Also, download the NDK from github.com:dneto0/android-ndk.
That is a fork of the repo we used to use, but we have more
control over how long it stays stable.

6 years agoTravis CI: Fix comments disabling code.
John Kessenich [Thu, 12 Jul 2018 17:37:09 +0000 (11:37 -0600)]
Travis CI: Fix comments disabling code.

6 years agoMerge pull request #1440 from dneto0/later-android
John Kessenich [Thu, 12 Jul 2018 17:01:54 +0000 (10:01 -0700)]
Merge pull request #1440 from dneto0/later-android

WIP: Travis-CI: Use Android NDK r13b specifically

6 years agoTravis-CI: Use Android NDK r13b specifically
David Neto [Wed, 11 Jul 2018 19:31:36 +0000 (15:31 -0400)]
Travis-CI: Use Android NDK r13b specifically

The Travis-CI bot downloads a copy of the Android NDK.  The source
we get it from recently updated to Android NDK r17b.  However,
the android.toolchain.cmake file does not know how to parse the
Android native API level from that version of the NDK.  So check
out the NDK r13b version that we were using until yesterday.

Fixes #1439

6 years agoMerge pull request #1438 from Think-Silicon/getUniformStages
John Kessenich [Wed, 11 Jul 2018 15:19:21 +0000 (08:19 -0700)]
Merge pull request #1438 from Think-Silicon/getUniformStages

Reflection exposes the Shader Stages where a Uniform is present

6 years agoNon-functional: Retrigger bots; the previous failure looks suspicious.
John Kessenich [Wed, 11 Jul 2018 08:24:36 +0000 (02:24 -0600)]
Non-functional: Retrigger bots; the previous failure looks suspicious.

6 years agoHLSL: Fix #1432: Globally initialize local static variables.
John Kessenich [Wed, 11 Jul 2018 07:09:14 +0000 (01:09 -0600)]
HLSL: Fix #1432: Globally initialize local static variables.

6 years agoReflection exposes the Shader Stages where a Uniform is present
dmpakas [Tue, 10 Jul 2018 15:25:48 +0000 (18:25 +0300)]
Reflection exposes the Shader Stages where a Uniform is present

6 years agoAllowed debug postfix to be changed.
Matthew Albrecht [Sat, 7 Jul 2018 22:00:08 +0000 (17:00 -0500)]
Allowed debug postfix to be changed.

6 years agoAdded the cmake option to disable building SPVRemapper.
Matthew Albrecht [Sat, 7 Jul 2018 21:53:06 +0000 (16:53 -0500)]
Added the cmake option to disable building SPVRemapper.

6 years agoMerge pull request #1434 from antiagainst/fix-spirv-tools-header
John Kessenich [Fri, 6 Jul 2018 19:18:32 +0000 (13:18 -0600)]
Merge pull request #1434 from antiagainst/fix-spirv-tools-header

Use public SPIRV-Tools header

6 years agobuild: Add ccache option to CMake config
Karl Schultz [Fri, 6 Jul 2018 18:12:09 +0000 (12:12 -0600)]
build: Add ccache option to CMake config

This is totally optional, but lets people build this repo with
ccache to improve rebuild speeds.  It also can help a great deal
on ccache-enabled CI systems like Travis-CI.  We build fixed
revisions of glslang a lot on Travis, so this will be a big help
with CI machine loading.

6 years agoSPIRV: Simplify matrix->matrix constructor
Arseny Kapoulkine [Thu, 5 Jul 2018 20:19:39 +0000 (13:19 -0700)]
SPIRV: Simplify matrix->matrix constructor

When constructing a matrix from another matrix with smaller dimensions,
there's no need to extract the scalars out of columns and rebuild the
resulting matrix from scalars - instead, we can just construct shorter
vectors with OpShuffle and combine them to the final result.

This keeps the common casts such as mat3(mat4) in vector registers,
which may improve performance for some GPUs, and cleans up output of
translation tools like SPIRV-Cross.

Fixes #1412.

6 years agoUse public SPIRV-Tools header
Lei Zhang [Wed, 4 Jul 2018 18:53:45 +0000 (14:53 -0400)]
Use public SPIRV-Tools header

6 years agoMerge pull request #1431 from KhronosGroup/implement-8-16-bit-storage
John Kessenich [Tue, 3 Jul 2018 20:21:07 +0000 (14:21 -0600)]
Merge pull request #1431 from KhronosGroup/implement-8-16-bit-storage

Implement GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage …

6 years agoImplement GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage extensions.
John Kessenich [Tue, 3 Jul 2018 19:19:51 +0000 (13:19 -0600)]
Implement GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage extensions.

These introduce limited support for 8/16-bit types such that they can only be accessed in buffer memory and converted to/from 32-bit types.

Contributed from Khronos-internal work.

6 years agoBump revision.
John Kessenich [Tue, 3 Jul 2018 15:34:43 +0000 (09:34 -0600)]
Bump revision.

6 years agoHLSL: Fix #1423: implement CalculateLevelOfDetailUnclamped().
John Kessenich [Tue, 3 Jul 2018 00:52:14 +0000 (18:52 -0600)]
HLSL: Fix #1423: implement CalculateLevelOfDetailUnclamped().

(If there is a bias issue, we need to discover what it is.)

6 years agoMerge pull request #1416 from aejsmith/samplerless-texture-functions
John Kessenich [Tue, 3 Jul 2018 00:35:41 +0000 (18:35 -0600)]
Merge pull request #1416 from aejsmith/samplerless-texture-functions

Add support for GL_EXT_samplerless_texture_functions

6 years agoMerge branch 'HaydnTrigg-patch-1'
John Kessenich [Mon, 2 Jul 2018 22:04:31 +0000 (16:04 -0600)]
Merge branch 'HaydnTrigg-patch-1'

6 years agoMerge branch 'patch-1' of https://github.com/HaydnTrigg/glslang into HaydnTrigg-patch-1
John Kessenich [Mon, 2 Jul 2018 22:04:08 +0000 (16:04 -0600)]
Merge branch 'patch-1' of https://github.com/HaydnTrigg/glslang into HaydnTrigg-patch-1

6 years agoMerge pull request #1420 from KhronosGroup/spir-dis
John Kessenich [Mon, 2 Jul 2018 21:55:01 +0000 (15:55 -0600)]
Merge pull request #1420 from KhronosGroup/spir-dis

SPV: Add option to print disassembly in standard form using SPIRV-Tools.

6 years agoSPV: Add option to print disassembly in standard form using SPIRV-Tools.
John Kessenich [Tue, 12 Jun 2018 00:12:15 +0000 (18:12 -0600)]
SPV: Add option to print disassembly in standard form using SPIRV-Tools.

6 years agoBump revision.
John Kessenich [Mon, 2 Jul 2018 19:49:16 +0000 (13:49 -0600)]
Bump revision.

6 years agoPP: Rationalize return values of MacroExpand.
John Kessenich [Mon, 2 Jul 2018 19:47:31 +0000 (13:47 -0600)]
PP: Rationalize return values of MacroExpand.

This results in better error recovery, including fewer
crashes on badly formed PP input.

6 years agoPP/HLSL: Fix #1424: support comma in nested curly braces for macro arg
John Kessenich [Mon, 2 Jul 2018 16:40:32 +0000 (10:40 -0600)]
PP/HLSL: Fix #1424: support comma in nested curly braces for macro arg

6 years agoAdd support for GL_EXT_samplerless_texture_functions
Alex Smith [Sat, 23 Jun 2018 08:34:24 +0000 (09:34 +0100)]
Add support for GL_EXT_samplerless_texture_functions

6 years agoConstant.cpp Floating point divide by zero
Haydn Trigg [Fri, 29 Jun 2018 17:55:06 +0000 (13:55 -0400)]
Constant.cpp Floating point divide by zero

Constant.cpp will throw a floating point divide by zero if floating point exceptions are enabled in Win32 causing the program to crash. This fix manually checks the right-hand argument of the division and sets appropriate Infinity, Negative Infinity, or NAN as if the floating point exceptions were disabled.

6 years agoMerge pull request #1419 from tgjones/spirv-remap-artifact
John Kessenich [Wed, 27 Jun 2018 22:47:38 +0000 (16:47 -0600)]
Merge pull request #1419 from tgjones/spirv-remap-artifact

Include spirv-remap.exe in AppVeyor artifacts

6 years agoInclude spirv-remap.exe in AppVeyor artifacts
Tim Jones [Wed, 27 Jun 2018 09:31:19 +0000 (17:31 +0800)]
Include spirv-remap.exe in AppVeyor artifacts

6 years agoMerge pull request #1413 from karl-lunarg/fix-update
John Kessenich [Fri, 22 Jun 2018 06:33:36 +0000 (00:33 -0600)]
Merge pull request #1413 from karl-lunarg/fix-update

script: Improve update sources script

6 years agoscript: Improve update sources script
Karl Schultz [Thu, 21 Jun 2018 23:30:07 +0000 (17:30 -0600)]
script: Improve update sources script

- remove unused variable to pass pylint
- Use another approach to detect if known-good remote is already
  present to avoid the need for "ignore following errors" message.

6 years agoMerge pull request #1411 from KhronosGroup/fix-literal-warnings
John Kessenich [Thu, 21 Jun 2018 00:54:12 +0000 (18:54 -0600)]
Merge pull request #1411 from KhronosGroup/fix-literal-warnings

Build: Make literal casting have fewer warnings and be more consistent.

6 years agoBuild: Make literal casting have fewer warnings and be more consistent.
John Kessenich [Thu, 21 Jun 2018 00:10:55 +0000 (18:10 -0600)]
Build: Make literal casting have fewer warnings and be more consistent.

6 years agoMerge pull request #1409 from greg-lunarg/remap3
John Kessenich [Wed, 20 Jun 2018 05:52:10 +0000 (23:52 -0600)]
Merge pull request #1409 from greg-lunarg/remap3

Add support for OpConstantNull and OpConstantSampler to spirv-remap

6 years agoAdd support for OpConstantNull and OpConstantSampler to spirv-remap
GregF [Tue, 19 Jun 2018 19:47:50 +0000 (13:47 -0600)]
Add support for OpConstantNull and OpConstantSampler to spirv-remap

Fixes issue #1408

6 years agoBump revision.
John Kessenich [Tue, 19 Jun 2018 15:47:23 +0000 (09:47 -0600)]
Bump revision.

6 years agoRevert "GLSL: Fix #1279: refract does not have a double-type eta."
John Kessenich [Tue, 19 Jun 2018 15:43:09 +0000 (09:43 -0600)]
Revert "GLSL: Fix #1279: refract does not have a double-type eta."

This reverts commit ebec909487b8c44a8c28b40c9899857593cc9bb5.

Khronos decided glslang was originally correct, and the specifications
are incorrect.

6 years agoMerge pull request #1405 from Igalia/nroberts/amb-arrays
John Kessenich [Fri, 15 Jun 2018 03:13:43 +0000 (21:13 -0600)]
Merge pull request #1405 from Igalia/nroberts/amb-arrays

Take into account arrays of opaque types with --auto-map-bindings

6 years agoTake into account arrays of opaque types when reserving bindings
Neil Roberts [Wed, 13 Jun 2018 10:00:18 +0000 (12:00 +0200)]
Take into account arrays of opaque types when reserving bindings

TDefaultIoResolverBase::reserveSlot and getFreeSlot now have a size
parameter to reserve a range of bindings. This is used by
TDefaultIoResolver::resolveBinding to reserve a continuous range when
the type is an array and the target API is GL.

6 years agoGLSL: Fix #1358: Support "struct name", where name could be a user type
John Kessenich [Tue, 12 Jun 2018 01:25:24 +0000 (19:25 -0600)]
GLSL: Fix #1358: Support "struct name", where name could be a user type

6 years agoMerge pull request #1402 from greg-lunarg/kg21
John Kessenich [Fri, 8 Jun 2018 18:56:23 +0000 (12:56 -0600)]
Merge pull request #1402 from greg-lunarg/kg21

Update spirv-tools known-good

6 years agoUpdate spirv-tools known-good
GregF [Fri, 8 Jun 2018 17:10:33 +0000 (11:10 -0600)]
Update spirv-tools known-good

Includes the following spirv-opt improvements:

Preserve inst-to-block and def-use in passes.
Add store for var initializer in inlining.
Handle types with self references.

6 years agoMerge pull request #1401 from dneto0/bad-e11
John Kessenich [Thu, 7 Jun 2018 07:33:48 +0000 (01:33 -0600)]
Merge pull request #1401 from dneto0/bad-e11

Relax a stringToDouble test for, OSX AppleClang 9.1

6 years agoRelax a stringToDouble test for, OSX AppleClang 9.1
David Neto [Thu, 7 Jun 2018 00:19:19 +0000 (17:19 -0700)]
Relax a stringToDouble test for, OSX AppleClang 9.1

1e-323 was flushed to zero.
1e-308 is also flushed to zero.
Use 1e-307 instead, which still satisfies the test intent.

Fixes #1400

6 years agoSPV: Fix #1399 emit ImageGatherExtended when using ConstOffsets operand
John Kessenich [Tue, 5 Jun 2018 14:53:36 +0000 (08:53 -0600)]
SPV: Fix #1399 emit ImageGatherExtended when using ConstOffsets operand

6 years agoFix #1360: uint->int width conversions must still be typed as uint.
John Kessenich [Tue, 5 Jun 2018 01:11:25 +0000 (19:11 -0600)]
Fix #1360: uint->int width conversions must still be typed as uint.

6 years agoFix #1395: GLSL volatile maps to SPIR-V Volatile and Coherent.
John Kessenich [Mon, 4 Jun 2018 21:36:03 +0000 (15:36 -0600)]
Fix #1395: GLSL volatile maps to SPIR-V Volatile and Coherent.

The major version number was bumped in the previous commit to support
this.

6 years agoChange the major revision number for next commit.
John Kessenich [Mon, 4 Jun 2018 21:33:31 +0000 (15:33 -0600)]
Change the major revision number for next commit.