aboutsummaryrefslogtreecommitdiff
path: root/src/shader_compiler.h
AgeCommit message (Collapse)Author
2019-08-03Add option to disable SPIR-V validation (#615)Paul Thomson
This CL adds a command inline flag --disable-spirv-val which will skip the validation of the generated SPIR-V binary.
2019-07-30Enable shader optimizations (#606)alan-baker
Enable shader optimizations * During shader compilation, if SPIRV-Tools are enabled run requested optimizations for the shader * these optimizations are pipeline specific * added a test
2019-07-19Bind opencl buffers (#584)alan-baker
Fixes #426 * New BIND subcommands to specify kernel args by name or ordinal * storage class specification is optional, but checked for consistency * clspv compiles parse descriptor map (partially) into Pipeline::ShaderInfo * Bindings updated before pipeline creation * added compiler and pipeline tests for new functionality * added new end-to-end test * Add documentation * Buffer storage class specification is now optional for OpenCL-C
2019-07-17Specify target version for GLSL compilation (#582)David Neto
Specify target version for GLSL compilation Fixes #549
2019-07-15Support parsing OpenCL C kernels (#578)alan-baker
* New shader format: OpenCLC * Add parser tests * Build fixes for clspv * add include director * add link libraries * add macro definition * Add clspv helper for compiling Fixes #428
2019-05-27Add HLSL support through DXC (#511)dan sinclair
This Cl adds DXC to the Amber third_party directory and enables using HLSL as the shader language in AmberScript. Fixes #34
2019-04-17Flush out some class/method documentation. (#476)dan sinclair
This CL adds class/method documentation to a few more classes.
2019-02-13 Execute from pipeline, not script. (#286)dan sinclair
This CL changes the executor to read information from the pipeline instead of using the script object.
2019-02-07Allow setting SPIR-V target environment. (#273)dan sinclair
This CL adds an option to the amber sample application to set the SPIR-V target environment. The environment name matches the names accepted by the other spirv-tools applications. The environment is set into the script and used by the shader compiler.
2018-12-05 Break apart Amber::Execute method. (#143)dan sinclair
Break apart Amber::Execute method. This CL splits Amber::Execute into a parse and execute step. The Parse step accepts a Recipe to fill out, that Recipe is then passed into the Execute step. The recipe, in the future, will allow retrieving information about the given script.
2018-12-04Allow host to provide a shader map. (#138)dan sinclair
This CL extends the Amber interface to allow a Shader map to be provided. This map allows the caller to pre-compile the shaders and provide the name to data mapping. The ShaderCompiler will then pull from the map before attempting to do a compile.
2018-11-22Add cpplint (#90)dan sinclair
Add cpplint
2018-11-09Initial commit of Amber for open sourcedan sinclair
Amber is a multi-API shader test framework. Amber lets you capture and communicate shader bugs with the fluidity and ease of a scripting flow: * No graphics API programming is required. * WIP: Supports Vulkan and [Dawn][Dawn] graphics APIs. * A single text string (or file) maps to a single graphics API pipeline test case. The text includes: * Input data, including buffers and images. * Shaders. * Expectations for the result of running the pipeline. * Shaders can be expressed in binary form (as hex), in SPIR-V assembly, or in a higher level shader language. * After executing the pipeline, result buffers and images can be saved to output files. This is not an officially supported Google product.