Age | Commit message (Collapse) | Author |
|
This CL adds the DERIVE_PIPELINE command to allow pipelines to be based
off of previously declared pipelines.
Fixes #435.
|
|
[amberscript] Add REPEAT command
This CL adds the REPEAT directive to AmberScript. This allows running a
given set of commands `n` times.
Fixes #425.
|
|
This CL changes the default attachment description from
LOAD_OP_DONT_CARE to LOAD_OP_LOAD. We want image data in the framebuffer
to persist over render calls.
Fixes #436
|
|
|
|
[amberscript] add DEVICE_FEATURE.
This CL adds the DEVICE_FEATURE command which allows requesting specific
features be enabled.
Fixes #347.
|
|
This Cl adds CLEAR_COLOR parsing into the AmberScript parser. The EXPECT
EQ was also fixed to use the correct 0-255 range instead of 0.0-1.0
range for colour expectations.
Fixes #344.
|
|
This change introduce the COPY command to amberscript,
which enables to copy a buffer content into an other
buffer.
|
|
This CL adds the EXPECT EQ command into amber script.
|
|
The draw command expects the width and heigth passed into the Draw Rect
command to be the full width/height we want to draw. Not a scale of -1
to 1. This means that we would only draw one corner of the screen
instead of the entire screen.
|
|
This CL suppresses two more tests due to lack of std140 support for
matrices in SPIRV-Cross.
"compute_mat2x2.vkscript",
"compute_mat3x2.vkscript"
Issue #216.
|
|
This CL updates the probe commands to contain the buffers needed instead
of providing the pipeline.
|
|
This CL changes the depth format for the draw_triangle_list_with_depth
test to be D32_SFLOAT_S8_UINT which is understood by MoltenVK. The
D24_UNORM_S8_UINT format is not supported on MoltenVK.
Issue #216.
|
|
This CL adds a list of suppressed test cases to the test runner. This
allows suppressing failures on a per platform basis. This is needed for
MoltenVK where tessellation and geometry shaders are not supported yet.
The output looks like:
Summary of Failures:
./tests/cases/compute_accumulated_ubo_definition.vkscript
./tests/cases/compute_mat2x2.vkscript
./tests/cases/compute_mat3x2.vkscript
./tests/cases/compute_ubo_and_ssbo.vkscript
./tests/cases/draw_triangle_list_with_depth.vkscript
./tests/cases/multiple_ssbo_update_with_graphics_pipeline.vkscript
./tests/cases/multiple_ubo_update_with_graphics_pipeline.vkscript
Summary of Suppressions:
./tests/cases/draw_triangle_list_using_geom_shader.vkscript
./tests/cases/draw_triangle_list_using_tessellation.vkscript
Test cases executed: 58
Successes: 49
Failures: 7
Suppressed: 2
|
|
This CL adds the EXPECT parsing for EQ_RGB and EQ_RGBA expectations.
This is enough to allow a clear.amber script to be written.
Issue #345.
|
|
This Cl stores the relevant data into the amber::Buffer and removes the
need to call GetDescriptorInfo to retrieve the data.
|
|
This CL changes the extension on the vkscript test files to be .vkscript
instead of .amber.
|
|
This CL adds parsing for the `fbsize 200 200` requirement to set the
framebuffer size for a given script.
Fixes #12.
|
|
The sample app outputting just an error code by default is confusing to
users. The -s flag was originally created to turn on the summary mode.
This CL removes -s from the help (but it still parses) and adds a -q
flag instead. The quiet flag is used by the test runner to suppress the
summary output.
|
|
This CL adds the code to query for physical properties2 if the
VK_KHR_get_physical_device_properties2 extension is required.
|
|
Fixes #267
|
|
Compute pipeline does not need PipelineData. This commit removes
PipelineData from ComputeCommand and supports graphics pipeline
setup based on PipelineData. Since PipelineData contains information
for stencil test, it also supports stencil test.
Fixes #64, #229
Related to #206
|
|
Related to #206
|
|
Fixes #236
|
|
Related to #236
|
|
Fixes #31
|
|
Probe command for a color frame buffer without `rect` attribute
means "probe a single pixel". This commit supports it.
Fixes #238
|
|
Mainly calling `FrameBuffer::CopyColorImageToHost()` after draw
conducts the immediate readback of framebuffer. For the immediate
readback of SSBO, we also read back other descriptors based on
buffer e.g., UBO just for simplicity of implementation. Calling
`Pipeline::ReadbackDescriptorsToHostDataQueue()` after draw and
compute conducts the immediate readback of SSBO.
Fixes #207
|
|
Fixes #204
|
|
|
|
Support push constant for Vulkan, which can be set by `uniform`
command of VkRunner script.
Fixes #149
|
|
Fixes #153
|
|
Fixes #185
|
|
Fixes #30
|
|
`draw rect` command generates a new vertex buffer for its target
rectangle. Without this commit, GraphicsPipeline just destroys the
existing vertex buffer and creates new one. As a result, draw array
after draw rect looses its vertex buffer and has errors.
Fixes #169
|
|
Without this commit, Amber supports descriptors with consecutive
descriptor sets from `[0, N]`, but it does not support discontinuous
descriptor sets e.g., `1, 3, 5`. To support discontinuous
descriptor sets, this commit creates empty descriptor set layouts
and puts them on pipeline layout.
Fixes #158
|
|
Running just one draw rect command without any other draw array,
draw rect, nor clear fails because
`GraphicsPipeline::ResetPipelineAndVertexBuffer()` calls
`CommandBuffer::End()` even when CommandBuffer is not in
`CommandBufferState::kRecording`. This CL fixes it.
Fixes #173
|
|
This CL captures the stderr of the amber process and fails the tests if
there were error messages reported. This should allow catching vulkan
validation errors.
Fixes #151
|
|
This commit checks if extensions given in `[require]` section are
supported by physical device and enables them when creating the
logical device.
Fixes #97
|
|
Fixes #147
|
|
Device class of Vulkan engine chooses a physical device that supports
features given in `[require]` section and create a logical device
that enables those features at the initialization time.
Related to #97
|
|
`draw rect` command creates new vertices for a rectangle every
time. Thus, DoDrawRect() resets vertex buffer and graphics pipeline
every time and creates new one accordingly.
Fixes #39
|
|
Multiple updates for a SSBO can be used for appending more data to
the SSBO and updating the SSBO.
Fixes #100
|
|
Fixes #40
|
|
Vulkan: handle probe ssbo command
Related to #32
|
|
Fixes #13
|
|
Add SSBO and Vulkan objects to use descriptors.
Fixes #11
|
|
We expect probe without draw or clear fails with an error.
|
|
Add copyright check
This CL imports the copyright check from shaderc and adds it to the
check-format kokoro bot.
Added .mm
|
|
Vulkan: add draw triangles
Add tests/cases/draw_triangle_list.amber to test drawing simple
triangles and update engine to conduct draw based on parameters of
draw array command.
Fixes #57
|
|
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.
|