aboutsummaryrefslogtreecommitdiff
path: root/samples
AgeCommit message (Collapse)Author
2019-04-10Simplify Format::GetBytesize; rename to SizeInBytes (#457)dan sinclair
The SizeInBytes name matches what is used in the DatumType class.
2019-04-09Dawn engine: Adapt to latest Dawn API. (#454)David Neto
- Use to 64bit offsets for buffer lengths - Change CreateDefaultTextureView --> CreateDefaultView Also fix placement of method comment.
2019-04-08Update Dawn config file (#440)Sarah
* support Vulkan for the Dawn backend * DoClear * make same config file to work for metal * fix clang-format
2019-03-28Hide pipeline buffer formats (#420)dan sinclair
The default colour formats are only used in the pipeline class so this CL moves them into the anonymous namespace.
2019-03-22Initialize amber structures. (#408)dan sinclair
This CL adds initializers for the amber::Options and amber::BufferInfo structures.
2019-03-21Change cmake to use PYTHON_EXECUTABLE. (#403)dan sinclair
Different versions of Cmake set PYTHON_EXE or PYTHON_EXECUTABLE. From the documentation PYTHON_EXECUTABLE is the one which is always set. Fixes #398.
2019-03-21Add missing iterator include. (#393)dan sinclair
Fixes #392.
2019-03-21Move config helper to use destructor (#391)dan sinclair
This CL moves the config helper Shutdown code into the destructor and removes the shutdown methods. Issue #42.
2019-03-18Integrate PPM unit tests. (#379)dan sinclair
This Cl integrates the PPM test into the test suite. Part of this work involved updating the conversion code to return a vector<uint8_t> instead of a std::string.
2019-03-17[vulkan] Better error message when failing to make vulkan device. (#372)dan sinclair
This CL updates the sample app to list the requested extensions and features when we fail to create a Vulkan device. This makes it a bit clearer as to why the device creation failed. Issue #336
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-07Build with local vulkan data if requested (#319)dan sinclair
This CL adds a flag AMBER_USE_LOCAL_VULKAN which if set when running cmake will have amber use the vulkan header and loaders out of the third_party directory. This should let amber try to build on a system without vulkan so the build can be tested on the bots.
2019-03-05[vulkan] Generate wrapper functions for vulkan methods. (#328)dan sinclair
This CL adds a update_vk_wrappers.py script which is executed during the build. The script will generate src/vk-wrappers.h and src/vk-wrappers.inc files into the binary directory. The .h file lists the struct entries for the VulkanPtr struct. The vk-wrappers.inc file contains the code to load the vulkan function pointers. If the vk.xml file is found, the wrappers will be lambdas, if vk.xml is not found they're straight function pointers. This should allow us to work with the CTS as we do now. Issue #324.
2019-03-05Add vulkan information into -V output. (#326)dan sinclair
This CL adds information from the vulkan physical device into the -V output when requested. Fixes #323
2019-03-05Force RGBA color type for PNG output (#329)Paul Thomson
Many PNG decoders will ignore the alpha channel unless the color type is RGBA.
2019-02-21Output requested images/buffers on probe failure. (#316)dan sinclair
This Cl updates the sample app to allow dumping of image and buffer data even if the probes fail to execute. Fixes #314.
2019-02-21 Allow specifiying variable pointers in requirements. (#313)dan sinclair
This CL adds the two requirements: * VariablePointerFeatures.variablePointers * VariablePointerFeatures.variablePointersStorageBuffer Variable pointers requires VK_KHR_get_physical_properties2 and the variable pointer extension are both requested.
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-21 Hold required features as strings. (#309)dan sinclair
This CL keeps the required features as strings as long as possible. This will allow extending the list of features with additional entries.
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-20Differentiate between instance and device extensions. (#304)dan sinclair
This CL adds the necessary code to differentiate that VK_KHR_get_physical_device_properties2 is an instance extension and not a device extension.
2019-02-20Add image dump in PNG (#302)dan sinclair
This change adds support to dump image to PNG format, it relies on the third party 'lodepng' library (zlib license). This CL is based on Pull #301 by @hevrard.
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-19Fixup sample app buffer parsing (#300)dan sinclair
This CL fixes the -B flag to default to 0:0 if not provided. It also fixes the code to use : as the separator instead of ,
2019-02-19Fixup image buffer dump (#299)dan sinclair
This CL updates the image dumping code to the new default framebuffer format of B8G8R8A8_UNORM.
2019-02-19Vulkan: support buffer dump (#269)Jaebaek Seo
This CL adds support to dump the contents of compute buffers to a file. Fixes #36
2019-02-14Add compilation scaffolding for plain Android executable (#285)Hugues Evrard
2019-02-12Fix clang 5.0 compile error (#280)Jaebaek Seo
Fixes #278
2019-02-11Updates to adapt to newer Dawn with Metal (#279)David Neto
* Dawn device is always taken from the engine config * Fix buffer view copy height * Clear color is stored as a ::dawn::Color value rather than ClearColorCommand
2019-02-07Sample app shutdown always (#274)dan sinclair
Currently the shutdown logic is only being run if the -s option is passed. This is a mistake and it should be run all the time.
2019-02-07Add flag to set vulkan version. (#272)dan sinclair
This CL adds a flag to the sample app to allow specifing the version of vulkan to use in the apiVersion field.
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-02-07Fix compiler error for release build with GCC 7.3 (#258)Jaebaek Seo
Calling important functions within assert() causes build / runtime errors. We must use assert() only when reporting the error and it must not contain critical logic. Fixes #257
2019-02-07Vulkan: support disabling validation layer (#270)Jaebaek Seo
Fixes #233
2019-02-06Remove some asserts, use return Results (#260)dan sinclair
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-24 [vulkan] Load vulkan methods through method. (#246)dan sinclair
This CL changes the vulkan backend to load all vulkan methods through the vkGetInstanceProcAddr method instead of accessing directly.
2019-01-24 [vulkan] Make vkGetInstanceProcAddr a required config param. (#245)dan sinclair
This CL changes the VulkanConfig to require the vkGetInstanceProcAddr pointer. This will be used internally to lookup all the used vulkan methods.
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.
2019-01-10Vulkan: enable validation layer (#184)Jaebaek Seo
Fixes #153
2019-01-09Fixup build warnings (#214)dan sinclair
Fixes up issue with returning an EngineConfig unique_ptr but creating a VulkanEngineConfig unique pointer warnings.
2019-01-08Vulkan: reuse device using config (#205)Jaebaek Seo
If `VkPhysicalDevice`, `VkDevice`, `VkQueue`, queue family index, required features and extensions are given, Amber reuses them. Fixes #124
2018-12-10Make spirv-tools, googletest and shaderc build optional (#144)dan sinclair
This CL allows spriv-tools, googletest and shaderc to be disabled at build time. (Disabling spriv-tools will also disable shaderc).
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-11-27Fail on unrecognized command line option (#104)David Neto
Issue a warning and exit if an unrecognized argument is encountered.
2018-11-22Add cpplint (#90)dan sinclair
Add cpplint
2018-11-19Windows build support (#71)David Neto
Windows build support * MSVC: Ensure CRT is statically linked into executables * Use fopen_s on Windows to avoid security warning * Use std::strtoull and include its header * Use #if defined(_MSC_VER)
2018-11-19amber tool: Add -e option to set graphics API engine (#65)David Neto
2018-11-13Fix generation of build-versions.h file.Dan Sinclair
Currently build-versions will not get regenerated when the git repos get updated. This change forces the build-versions.h file to always get generated to make sure it's correct.