- Feb 22, 2016
-
-
David Neto authored
The program demonstrates basic shader compilation using the Shaderc C++ API. For clarity, each method is deliberately self-contained. Techniques demonstrated: - Preprocessing GLSL source text - Compiling a shader to SPIR-V assembly text - Compliing a shader to a SPIR-V binary module - Setting basic options: setting a preprocessor symbol. - Checking compilation status and extracting an error message.
-
Andrew Woloszyn authored
This lets us keep better track of licenses for our dependencies.
-
David Neto authored
Class shaderc::CompilationResult is a template over the element type for the compilation output. It has three specializations: for a SPIR-V binary module (with uint32_t element type), SPIR-V assembly text (char element type), and preprocessed source (char element type). The compilation output is accessed via cbegin(), cend() and begin() end() iterators. Test code updates: - Add 'using' declarations for all three compilation result classes. - Add const to compilation result variables, where possible. - IsValidSpv should take an SpvCompilationResult, and should not be parameterized over compilation result types. - IsValidSpv should take an SpvCompilationResult - Test PreprocessingOnlyOption should use a PreprocessedSourceCompilationResult variable instead of an AssemblyCompilationResult variable. Remove SetDisassemblyMode and SetPreprocessOnlyMode methods on the CompileOptions object so we can't get the wrong output by mixing up options with compilation methods. Removed FileCompiler members disassemble_ and preprocess_only_ Remove Disassembly and PreprocessOnly options on shaderc_util::Compiler C API changes: - Use different compile functions in the C API for different output types. - Remove disassembly mode and preprocess-only mode calls.
-
- Feb 19, 2016
-
-
Lei Zhang authored
-
Andrew Woloszyn authored
The build-version target depends on glslang and spirv-tools so we have to make sure they are included before generating the custom target.
-
Dejan Mircevski authored
-
- Feb 18, 2016
-
-
Andrew Woloszyn authored
When glslang_tab.cpp and glslang_tab.cpp.h moved, the include directory was not updated. This was missed because the old files had not been removed from the source directory.
-
Dejan Mircevski authored
Only overwrite if new content is different. Record date for unknown hashes.
-
Dejan Mircevski authored
Also bump the newly inserted copyright messages to 2016.
-
Lei Zhang authored
-
David Neto authored
That README describes how to link to libshaderc, as well as what to put on your search path.
-
David Neto authored
Clients of the libshaderc API should add $SHADERC_SRC_ROOT/libshaderc/include to their search path, and use #include "shaderc/shaderc.hpp" or "shaderc/shaderc.c" Update the include guards for shaderc.h and shaderc.hpp
-
- Feb 17, 2016
-
-
qining authored
-
qining authored
Rename the result object from shaderc_spv_module to shaderc_compilation_result. Also rename the involved methods, variables, and handlers. Rename an enum status: shaderc_compilation_status_null_result_module to shaderc_compilation_status_null_result_object.
-
David Neto authored
-
Andrew Woloszyn authored
This allows both spirv-tools and glslang to live in separate source directories when being invoked with ndk-build. ndk-build THIRD_PARTY_PATH=foo specifies that foo/glslang and foo/spirv-tools exist. ndk-build SPVTOOLS_LOCAL_PATH=/some/absolute/path specifies that glslang exists in third_party/glslang but spirv-tools exists at /some/absolute/path. ndk-build GLSLANG_LOCAL_PATH=/some/absolute/path is the same but for glslang.
-
Andrew Woloszyn authored
This cleans up a number of warnings related to glslang_tab.cpp. It also allows the generation of libshaderc_combined by calling ndk-build libshaderc_combined.
-
qining authored
Change the output data container of libshaderc compilation result from std::string to std::vector<uint32_t> to guarantee the output data alignment. Change the libshaderc_util::Compiler::Compile() signature and implementation to avoid extra copies of SPIR-V binary. Also store the string data of text output in vector<uint32_t>.
-
qining authored
-
- Feb 16, 2016
-
-
Andrew Woloszyn authored
-
- Feb 15, 2016
-
-
qining authored
-
- Feb 14, 2016
-
-
David Neto authored
Instead use shaderc_module_get_status and check for return value shaderc_compilation_status_success. Addresses https://github.com/google/shaderc/issues/129
-
- Feb 11, 2016
-
-
qining authored
Makefile.
-
- Feb 08, 2016
-
-
qining authored
get the output file name for compilation result.
-
- Feb 04, 2016
- Feb 03, 2016
-
-
David Neto authored
Adjust tests to include an appropriate #version string. Also, when testing disassembled output, only test certain key substrings so we're not so sensitive to code generation differences in Glslang.
-
qining authored
add another checking class for glslc which only expect a specified substring appearing in the whole error message, use this class for target-env glslc test
-
- Feb 02, 2016
-
-
Dejan Mircevski authored
-
Dejan Mircevski authored
spirv-tools will add this test itself.
-
Andrew Woloszyn authored
shaderc_combined.lib will now be built and tested when compiling for MSVC or Ninja on Windows.
-
- Feb 01, 2016
-
-
Andrew Woloszyn authored
Replaces the .in file with a constructed set of generator expressions.
-
Andrew Woloszyn authored
This avoids issues with echo behaving differently on different systems.
-
qining authored
It specifies the target environment, determining available language features, and builtin, and SPIR-V conventions. Note that the -std determines the dialect of the shader source code. That's subtly different.
-
David Neto authored
It just looks better.
-
David Neto authored
-
- Jan 30, 2016
-
-
Andrew Woloszyn authored
We only Initialize/Finalize process every compile because there is a subset of options that interfere with internal glslang state. Until this is remedied in glslang, allow re-use of state except in the cases where we know state will get broken.
-
- Jan 27, 2016
-
-
Dejan Mircevski authored
-
qining authored
-
- Jan 26, 2016
-
-
Lei Zhang authored
If a third-party project defines a CMake function with the same name, by importing that project's CMake configuration, we may end up overwriting our own copy. Qualify all defined functions to reduce that probability.
-