Age | Commit message (Collapse) | Author |
|
The SizeInBytes name matches what is used in the DatumType class.
|
|
- Use to 64bit offsets for buffer lengths
- Change CreateDefaultTextureView --> CreateDefaultView
Also fix placement of method comment.
|
|
* support Vulkan for the Dawn backend
* DoClear
* make same config file to work for metal
* fix clang-format
|
|
The default colour formats are only used in the pipeline class so this
CL moves them into the anonymous namespace.
|
|
This CL adds initializers for the amber::Options and amber::BufferInfo
structures.
|
|
Different versions of Cmake set PYTHON_EXE or PYTHON_EXECUTABLE. From
the documentation PYTHON_EXECUTABLE is the one which is always set.
Fixes #398.
|
|
Fixes #392.
|
|
This CL moves the config helper Shutdown code into the destructor and
removes the shutdown methods.
Issue #42.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
This CL adds information from the vulkan physical device into the -V
output when requested.
Fixes #323
|
|
Many PNG decoders will ignore the alpha channel unless the color type is RGBA.
|
|
This Cl updates the sample app to allow dumping of image and buffer data
even if the probes fail to execute.
Fixes #314.
|
|
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.
|
|
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 keeps the required features as strings as long as possible. This
will allow extending the list of features with additional entries.
|
|
This CL adds the code to query for physical properties2 if the
VK_KHR_get_physical_device_properties2 extension is required.
|
|
This CL adds the necessary code to differentiate that
VK_KHR_get_physical_device_properties2 is an instance extension and not
a device extension.
|
|
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.
|
|
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 fixes the -B flag to default to 0:0 if not provided. It also
fixes the code to use : as the separator instead of ,
|
|
This CL updates the image dumping code to the new default framebuffer
format of B8G8R8A8_UNORM.
|
|
This CL adds support to dump the contents of compute buffers to a file.
Fixes #36
|
|
|
|
Fixes #278
|
|
* 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
|
|
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.
|
|
This CL adds a flag to the sample app to allow specifing the version of
vulkan to use in the apiVersion field.
|
|
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.
|
|
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
|
|
Fixes #233
|
|
|
|
This CL plumbs through the ability to dump the framebuffer into a PPM image.
|
|
This CL changes the vulkan backend to load all vulkan methods through
the vkGetInstanceProcAddr method instead of accessing directly.
|
|
This CL changes the VulkanConfig to require the vkGetInstanceProcAddr
pointer. This will be used internally to lookup all the used vulkan
methods.
|
|
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.
|
|
Fixes #153
|
|
Fixes up issue with returning an EngineConfig unique_ptr but
creating a VulkanEngineConfig unique pointer warnings.
|
|
If `VkPhysicalDevice`, `VkDevice`, `VkQueue`, queue family index,
required features and extensions are given, Amber reuses them.
Fixes #124
|
|
This CL allows spriv-tools, googletest and shaderc to be disabled at
build time. (Disabling spriv-tools will also disable shaderc).
|
|
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.
|
|
Issue a warning and exit if an unrecognized argument is encountered.
|
|
Add cpplint
|
|
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)
|
|
|
|
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.
|