Age | Commit message (Collapse) | Author |
|
Also moved delegate from options to Amber object to be able to access it from a parser.
|
|
* 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.
|
|
This CL adds the `FILE` parameter to `BUFFER` commands. This allows loading file data into the buffer. Currently only PNG data is supported.
|
|
This CL adds a command inline flag --disable-spirv-val which will skip the validation of the generated SPIR-V binary.
|
|
Specify target version for GLSL compilation
Fixes #549
|
|
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
|
|
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.
|
|
This CL adds class/method documentation to a few more classes.
|
|
This CL adds default destructors for the Vulkan and Dawn config objects.
the EngineConfig object destructor is set to virtual.
Issue #277.
|
|
This CL adds initializers for the amber::Options and amber::BufferInfo
structures.
|
|
Add the necessary Delegate methods to implement timing of graphics API
calls.
|
|
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.
|
|
It determines if the engine satisfies all requirements declared
in the recipe.
|
|
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).
|
|
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.
|
|
This CL plumbs through the ability to dump the framebuffer into a PPM image.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
Add cpplint
|
|
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.
|
|
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.
|