aboutsummaryrefslogtreecommitdiff
path: root/include/amber/amber.h
AgeCommit message (Collapse)Author
2020-04-20Added buffer data loading from a text file (#839)asuonpaa
Also moved delegate from options to Amber object to be able to access it from a parser.
2020-04-14Added implementation for loading buffer data from a binary file. (#838)asuonpaa
* Added implementation for loading buffer data from a binary file. * Use PNG, BINARY, and TEXT to select the type of file to load buffer data from.
2020-03-24Added a support for loading a png file into a buffer (#823)asuonpaa
This CL adds the `FILE` parameter to `BUFFER` commands. This allows loading file data into the buffer. Currently only PNG data is supported.
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-17Specify target version for GLSL compilation (#582)David Neto
Specify target version for GLSL compilation Fixes #549
2019-05-13Allow setting name of framebuffer to extract. (#507)dan sinclair
Currently the framebuffer must be named 'framebuffer' for the image extraction to work correctly. This CL adds a -I option to the sample app and changes the BufferInfo structure to record if it is an image that is being extracted. Fixes #505
2019-04-19Add flag to log execute calls. (#483)dan sinclair
This CL adds a flag to the sample app and extends the Delgate to allow logging command names before they're executed. This should allow easier tracking down of the command which causes a segv during executing.
2019-04-17Flush out some class/method documentation. (#476)dan sinclair
This CL adds class/method documentation to a few more classes.
2019-03-28Add destructors for the config objects. (#422)dan sinclair
This CL adds default destructors for the Vulkan and Dawn config objects. the EngineConfig object destructor is set to virtual. Issue #277.
2019-03-22Initialize amber structures. (#408)dan sinclair
This CL adds initializers for the amber::Options and amber::BufferInfo structures.
2019-03-12Implement --log-graphics-calls-time flag (#351)Hugues Evrard
Add the necessary Delegate methods to implement timing of graphics API calls.
2019-03-08Add Delegate and --log-graphics-calls flag (#334)Hugues Evrard
This adds a Delegate which enables users of the amber library to define some hook functions as they like. The first usage here is a Delegate::Log() function to log graphics API calls. In practice, a pointer to the delegate object is passed at engine creation and the Vulkan engine eventually pass it to LoadVulkanPointers() which calls the functions produced by update_vk_wrappers.py. This enable to choose, when loading the Vulkan functions, whether to load a straighforward wrapper to the API command, or to load a lambda that surround the API command with calls to the delegate methods. The --log-graphics-calls flag in the samples sets the delegate to produce a log of API calls.
2019-03-05Add Amber::AreAllRequirementsSupported (#321)David Neto
It determines if the engine satisfies all requirements declared in the recipe.
2019-02-20Add -ps option to allow compiling shaders. (#303)dan sinclair
This CL adds a -ps option to the sample app to allow parsing the script and creating the pipeline. This will cause the driver SPIR-V compiler to execute. The script is not run against the engine (and the engine is not created).
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.
2019-01-28Add framebuffer dump in PPM format (#227)Hugues Evrard
This CL plumbs through the ability to dump the framebuffer into a PPM image.
2019-01-15Convert API to C++03 from C++11 for CTS compatibility (#218)dan sinclair
The CTS requires code to not use c++11. This CL converts the various c++11-ism's in the Amber API to C++03.
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-12-04Extend engine configuration options. (#137)dan sinclair
Currently an InitializeWithDevice method is provided to the engines which is populated with the device given when calling Execute. This CL extends that mechanism to have EngineConfig structs for each engine. Those structs are given to Execute and passed to the engine. This will allow extending the Vulkan code to accept PhysicalDevice and available feature/extension information along with the device.
2018-11-28Fill in some documentation. (#116)dan sinclair
2018-11-22Add cpplint (#90)dan sinclair
Add cpplint
2018-11-13Add stub engine for Dawn nativeDavid Neto
Basic methods always succeed, even though most of them do nothing. It does create a Dawn device, proving that we can link to the Dawn native library. Fix the method for finding Dawn. The dawn_native library has a link dependency to the dawn (core) library. So we have to find and configure that too.
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.