Граф коммитов

2934 Коммитов

Автор SHA1 Сообщение Дата
John Kessenich 6def4375cc Bump revision. 2018-09-10 18:14:21 -06:00
John Kessenich afe0c66f65 SPV: Fix #1487: Only declare AMD int16/half_float extensions when needed. 2018-09-10 18:10:51 -06:00
John Kessenich 546b78854a Printing preprocessed shaders (not a supported path): Fix #1490: strings
Put quote marks around strings, due to a change in how tokenization works.
2018-09-10 11:42:16 -06:00
John Kessenich 1ca0f8e8eb Bump version and revision. 2018-09-07 09:07:03 -06:00
John Kessenich ddfb4a8022 Merge branch 'jeffbolznv-memory_scope_semantics' 2018-09-07 08:58:53 -06:00
Jeff Bolz 36831c9bad GL_KHR_memory_scope_semantics 2018-09-06 20:36:14 -05:00
John Kessenich 97068d8b30
Merge pull request #1465 from otakuto/remove-execute-permissions
Remove execute permissions
2018-08-31 08:14:47 -07:00
John Kessenich 1d12970ac8
Merge pull request #1485 from karl-lunarg/karl-lunarg-patch-1
tooling: Fix update sources script for Python 3
2018-08-31 08:12:54 -07:00
John Kessenich 12b99ef13d
Merge pull request #1486 from mrtrizer/patch-1
Fixed a typo leading to compilation error.
2018-08-31 08:09:54 -07:00
Denis Zdorovtsov 949344f081
Update SpvTools.cpp
Fix build.
2018-08-31 17:36:15 +03:00
John Kessenich ac2e1b6328 bump revision 2018-08-30 17:43:22 -06:00
John Kessenich 4e11b615db SPV: Turn off the default validation done by the SPIRV-Tools optimizer.
Also use the glslang namespace qualifier consistently and validate after
legalization, not before. (But most tests don't legalize.)
2018-08-30 16:59:13 -06:00
John Kessenich a4dfede4cc
Merge pull request #1482 from KhronosGroup/validate
SPV: Add SPIRV-Tools validator.
2018-08-30 13:20:11 -07:00
John Kessenich d5aabf34f9 GLSL: Remove use of __ in the implementation of keywords having __. 2018-08-30 12:46:29 -06:00
John Kessenich 381dd3c0d2 GLSL: Remove use of __ in the implementation of keywords having __. 2018-08-30 12:22:33 -06:00
Karl Schultz 0cb8ad55f6
tooling: Fix update sources script for Python 3
This one small change allows the update_glslang_sources.py script to operate correctly with Python 2 and Python 3.

Change the string literal type to "bytes" so that it matches the type returned by the subprocess calls.  Otherwise, under Python 3, the search for "known-good" in the list of remotes always fails.  This is OK for the first execution of update_glsang_sources, since the remote is not there on the first run.  But on subsequent runs, the search still fails to match and the script stops when trying to create a remote that already exists.
2018-08-27 14:06:38 -06:00
John Kessenich c340425bb2 SPV: Add option for controling when the SPIRV-Tools validator is used. 2018-08-23 15:29:08 -06:00
John Kessenich 717c80a9de SPV: Isolate SPIRV-tools glue to its own file. 2018-08-23 15:17:10 -06:00
John Kessenich cc14f2d329 SPV: Add SPIRV-Tools validator. This needs the latest SPIR-Tools. 2018-08-23 13:46:48 -06:00
John Kessenich e7df8e0b76 Non-functional: Rationalize some existing use of SPIRV-Tools. 2018-08-22 17:12:46 -06:00
John Kessenich 1323bf8e39
Merge pull request #1480 from dneto0/stringify
Use our own SPIRV-Tools message stringifier
2018-08-20 08:07:12 -07:00
David Neto 9fd2a8cdfc Use our own SPIRV-Tools message stringifier
Stop including an internal SPIRV-Tools header. It has been
deleted.

Fixes #1477
2018-08-20 10:36:27 -04:00
John Kessenich 93dbbdee36
Merge pull request #1474 from KhronosGroup/pure-8-16-bit-capability
SPV: only declare the pure 8/16-bit capabilities when needed.
2018-08-17 17:00:04 -07:00
John Kessenich 09d7672dbc
Merge pull request #1476 from greg-lunarg/kg24
Update SPIRV-Tools known good.
2018-08-17 12:46:32 -07:00
GregF 1676e73dd2 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
2018-08-17 10:56:37 -06:00
John Kessenich 31aa3d6019 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.
2018-08-16 15:54:21 -06:00
John Kessenich 149afc3930 SPV: More corrections of <id> versus "immediate" operands. 2018-08-14 13:31:43 -06:00
John Kessenich 228e964bcc SPV: Correct SPIR-V operands for <id> versus immediate. 2018-08-13 21:37:59 -06:00
John Kessenich 72f8c69097 Bump version patch level. 2018-08-13 01:32:56 -06:00
John Kessenich 251901ac8a Fix #1471: Merge shift amounts for different sets: --stb ... --std ... 2018-08-12 22:08:53 -06:00
John Kessenich ade8bbbf5f Fix #1393: rationalize usage, in the spirit of #1393.
Order is kept about the same.
2018-08-12 21:24:55 -06:00
John Kessenich ec5c11931b Bump revision. 2018-08-09 14:17:52 -06:00
John Kessenich 640bd0964f Fix #1468: Add command-line --entry-point support, same as existing -e. 2018-08-09 14:15:00 -06:00
John Kessenich 56a75975e3 Fix #1469: Make it easier to copy/paste build instructions. 2018-08-09 13:58:12 -06:00
John Kessenich c4510e5ebc
Merge pull request #1466 from Kangz/warning_fixes
Fix -Wignored-qualifier and -Wunused-variable warnings
2018-08-09 12:49:56 -07:00
John Kessenich 242c28f21c
Merge pull request #1470 from antiagainst/patch-2
Appveyor CI: build artifacts for x64
2018-08-09 12:34:46 -07:00
Lei Zhang fb4165b5dc
Appveyor CI: build artifacts for x64
Fixes https://github.com/KhronosGroup/glslang/issues/1396
2018-08-09 13:36:17 -04:00
Corentin Wallez e70614223f Fix -Wignored-qualifier and -Wunused-variable warnings 2018-08-09 14:54:33 +02:00
otakuto dae0b0a59e Add shebang 2018-08-07 03:25:35 +09:00
otakuto d03da06ac1 Remove execute permissions 2018-08-07 03:16:20 +09:00
John Kessenich e0bc65b2c1
Merge pull request #1460 from KhronosGroup/postprocess
Non-Functional: Add postprocess as more robust way to add capabilities
2018-08-06 00:46:27 -07:00
John Kessenich f04c51b3bd 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.
2018-08-03 15:56:12 -06:00
John Kessenich 29619b2312
Merge pull request #1459 from dgkoch/dgkoch_build_fixes4
Fix various build warnings/errors
2018-08-01 14:28:57 -07:00
Daniel Koch 883607d5fc 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
2018-07-27 17:20:49 -04:00
John Kessenich e99a26810f
Merge pull request #1457 from KhronosGroup/parse-floats
Tests: Add more string -> float tests. Related to #1456.
2018-07-27 12:46:35 -07:00
John Kessenich 7cdc24c06c PP: Address #1456: Strip float suffixes before using platform library. 2018-07-27 13:08:05 -06:00
John Kessenich 994d4bf325 Tests: Add more string -> float tests. Related to #1456. 2018-07-27 13:06:54 -06:00
John Kessenich 561a43d272 PP: floating-point parsing: more stable handling of istringstream::fail
Possibly addresses #1456
2018-07-26 14:29:29 -06:00
John Kessenich 13803b185d Bump revision. 2018-07-25 15:34:01 -06:00
John Kessenich 6e382f63b4
Merge pull request #1455 from TiemoJung/nullpointer_crash_fix
Fixes a crash when in/out varying variable had no semantic name and a…
2018-07-25 11:13:05 -07:00