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

9 Коммитов

Автор SHA1 Сообщение Дата
GregF cd1f169c6a Enable HLSL legalization
Also added known-good mechanism to fetch latest validated spirv-tools.
Also added -Od and -Os to disable optimizer and optimize for size.

Fetching spirv-tools is optional for both glsl and hlsl. Legalization
of hlsl is done by default if spirv-opt is present at cmake time.
Optimization for glsl is currently done through the option -Os.

Legalization testing is currently only done on four existing shaders.
A separate baseLegalResults directory holds those results. All previous
testing is done with the optimizer disabled.
2017-09-27 15:06:05 -06:00
John Kessenich 4b1a890ba1 Nonfunctional, infrastructure: Clean up Test directory droppings.
The multithreaded outputs in particular can be troublesome when searching.
2017-07-06 12:06:30 -06:00
steve-lunarg 8ffc36aecc add reflection queries to return a TType. Fix minor issue with interface names.
- Add new queries: TProgram::getUniformTType and getUniformBlockTType,
  which return a const TType*, or nullptr on a bad index.  These are valid for
  any source language.

- Interface name for HLSL cbuffers is taken from the (only) available declaration name,
  whereas before it was always an empty string, which caused some troubles with reflection
  mapping them all to the same index slot.  This also makes it appear in the SPIR-V binary
  instead of an empty string.

- Print the binding as part of the reflection textual dump.

- TType::clone becomes const.  Needed to call it from a const method, and anyway it doesn't
  change the object it's called on.

- Because the TObjectReflection constructor is called with a TType *reference* (not pointer)
  so that it's guaranteed to pass in a type, and the "badReflection" value should use a nullptr
  there, that now has a dedicated static method to obtain the bad value.  It uses a private
  constructor, so external users can't create one with a nullptr type.
2016-10-02 16:57:58 -06:00
LoopDawg 4886f69734 HLSL: Sampler/texture declarations, method syntax, partial Sample method 2016-07-12 15:57:46 -06:00
Lei Zhang 414eb60482 Link in Google Test framework.
The existing test harness is a homemade shell script. All the tests
and the expected results are written in plain text files. The harness
just reads in a test, invoke the glslangValidator binary on it, and
compare the result with the golden file. All tests are kinda
integration tests.

This patch add Google Test as an external project, which provides a
new harness for reading shader source files, compile to SPIR-V, and
then compare with the expected output.
2016-03-31 10:31:30 -04:00
baldurk 530690e442 Commit bison-generated files from Windows GNU Bison 2.7 2016-02-28 09:15:31 +01:00
baldurk bc83e64e51 Exclude bison generated files in .gitignore 2015-11-16 23:53:46 +01:00
johnkslang 02ad18a2a6 Make smoother use in GitHub
+x bison.exe, remove some extra files in runtests, and ignore more
created files.
2015-06-26 00:12:31 -06:00
John Kessenich 3cdc47bf0b Several miscellaneous portability improvements (no functional changes).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24737 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-10 21:09:51 +00:00