aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2019-04-09[AmberScript] Add DERIVE_PIPELINE (#453)dan sinclair
This CL adds the DERIVE_PIPELINE command to allow pipelines to be based off of previously declared pipelines. Fixes #435.
2019-04-05[amberscript] Add REPEAT command (#443)dan sinclair
[amberscript] Add REPEAT command This CL adds the REPEAT directive to AmberScript. This allows running a given set of commands `n` times. Fixes #425.
2019-04-02[vulkan] Use LOAD_OP_LOAD for the default attachment description (#438)dan sinclair
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
2019-03-30Remove accidentally added file (#437)dan sinclair
2019-03-29[amberscript] add DEVICE_FEATURE. (#434)dan sinclair
[amberscript] add DEVICE_FEATURE. This CL adds the DEVICE_FEATURE command which allows requesting specific features be enabled. Fixes #347.
2019-03-28[amberscript] Add CLEAR_COLOR parsing. (#416)dan sinclair
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.
2019-03-26Implement AmberScript COPY command (#371)Hugues Evrard
This change introduce the COPY command to amberscript, which enables to copy a buffer content into an other buffer.
2019-03-25Add EXPECT EQ (#411)dan sinclair
This CL adds the EXPECT EQ command into amber script.
2019-03-20[vulkan] Fixup width of draw commands. (#383)dan sinclair
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.
2019-03-18[vulkan] More MoltenVK suppressions (#378)dan sinclair
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.
2019-03-18 Remove pipeline from probe commands. (#377)dan sinclair
This CL updates the probe commands to contain the buffers needed instead of providing the pipeline.
2019-03-17Change depth format for test. (#374)dan sinclair
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.
2019-03-17[testing] Add suppressions to test runner (#373)dan sinclair
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
2019-03-14[AmberScript] Implement EXPECT EQ_RGB(A)? parsing (#367)dan sinclair
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.
2019-03-13Remove GetDescriptorInfo and store in Buffer object. (#358)dan sinclair
This Cl stores the relevant data into the amber::Buffer and removes the need to call GetDescriptorInfo to retrieve the data.
2019-03-06Rename vkscript test files. (#332)dan sinclair
This CL changes the extension on the vkscript test files to be .vkscript instead of .amber.
2019-02-21Add fbsize require setting (#315)dan sinclair
This CL adds parsing for the `fbsize 200 200` requirement to set the framebuffer size for a given script. Fixes #12.
2019-02-21Flip the sample app to be less quiet. (#307)dan sinclair
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.
2019-02-20 Allow querying vkGetPhysicalProperties2 (#308)dan sinclair
This CL adds the code to query for physical properties2 if the VK_KHR_get_physical_device_properties2 extension is required.
2019-02-11Vkscript: fix matrix stride bug (#268)Jaebaek Seo
Fixes #267
2019-01-31Vulkan: support setup based on PipelineData (#253)Jaebaek Seo
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
2019-01-28Vulkan: support depth frame buffer (#248)Jaebaek Seo
Related to #206
2019-01-28Vulkan: support tessellation control/eval shader (#249)Jaebaek Seo
Fixes #236
2019-01-28Vulkan: add geometry shader test (#247)Jaebaek Seo
Related to #236
2019-01-27Vulkan: support all VkFormat for vertex and frame (#224)Jaebaek Seo
Fixes #31
2019-01-23VkScript: support probe without rect (#240)Jaebaek Seo
Probe command for a color frame buffer without `rect` attribute means "probe a single pixel". This commit supports it. Fixes #238
2019-01-18Vulkan: readback SSBO/framebuffer right after draw or compute (#217)Jaebaek Seo
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
2019-01-18Vulkan: support index buffer for graphics pipeline (#226)Jaebaek Seo
Fixes #204
2019-01-15Add test case for accumulated ubo definition (#225)Jaebaek Seo
2019-01-14Vulkan: support push constant (#203)Jaebaek Seo
Support push constant for Vulkan, which can be set by `uniform` command of VkRunner script. Fixes #149
2019-01-10Vulkan: enable validation layer (#184)Jaebaek Seo
Fixes #153
2019-01-08Vulkan: fix validation errors (#187)Jaebaek Seo
Fixes #185
2018-12-17Vulkan: support entrypoint command (#188)Jaebaek Seo
Fixes #30
2018-12-12Vulkan: fix draw array after draw rect bug (#177)Jaebaek Seo
`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
2018-12-12Vulkan: fix discontinuous descriptor set error (#159)Jaebaek Seo
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
2018-12-11Vulkan: fix draw rect once bug (#174)Jaebaek Seo
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
2018-12-11Output any errors produced during test runs. (#167)dan sinclair
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
2018-12-10Vulkan: enable extension support (#154)Jaebaek Seo
This commit checks if extensions given in `[require]` section are supported by physical device and enables them when creating the logical device. Fixes #97
2018-12-10Vulkan: handles uniform ubo command i.e., add UBO (#148)Jaebaek Seo
Fixes #147
2018-12-05Vulkan: enable required features (#141)Jaebaek Seo
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
2018-12-05Vulkan: handle DoDrawRect (#134)Jaebaek Seo
`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
2018-12-05Vulkan: support multiple updates for a ssbo (#126)Jaebaek Seo
Multiple updates for a SSBO can be used for appending more data to the SSBO and updating the SSBO. Fixes #100
2018-12-04Add tests tolerance and comparator (#130)Jaebaek Seo
Fixes #40
2018-12-01Vulkan: handle probe ssbo command (#101)Jaebaek Seo
Vulkan: handle probe ssbo command Related to #32
2018-11-26Vulkan: add compute pipeline (#98)Jaebaek Seo
Fixes #13
2018-11-26Vulkan: add SSBO (#63)Jaebaek Seo
Add SSBO and Vulkan objects to use descriptors. Fixes #11
2018-11-23Vulkan: add a test for probe without draw or clear (#51)Jaebaek Seo
We expect probe without draw or clear fails with an error.
2018-11-22Add copyright check (#88)dan sinclair
Add copyright check This CL imports the copyright check from shaderc and adds it to the check-format kokoro bot. Added .mm
2018-11-16Vulkan: add draw triangles (#52)Jaebaek Seo
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
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.