- Some tests require textures larger than 2048. Change the minimum
to 4096 for now, and file proper bugs for tests.
- The introduction of uint8_t to DescriptorSetLayoutBinding
caused unintended padding with using this struct as a hash key.
We comment out the relevent code for now.
Set the support for isProtectedTexturesSupported
depending if the context supports protected content.
Fix checking if the protected feature is supported
on the host after retrieving the results from querying
the Physical Device.
Replace "void* const" with "void*" as const here serves no purpose because of following reasons:
1. void* const in function parameter has a limited and local effect on the code.
2. clang tidy would complain and report error if const is added to the function declaration.
3. const is dropped later in the call stack making the code incosistent.
To match the GL platform add a new function to describe
an external image.
Also make `ExternalImageVulkanAndroid` and
`getExternalImageMetadata` protected, so only the
backend has access to it.
Move the files out of that directory for consistency. (Should have
never created the directory in the first place).
Also did some small clean-ups of removing old comments and no
longer needed includes.
* Materials can now specify a shadow strength factor
Materials have a new property: shadowStrength that can be used to
attenuate all shadows received by this material. e.g.:
```
void material(inout MaterialInputs material) {
prepareMaterial(material);
material. shadowStrength = 0.1;
}
```
FIXES=[391663042]
Co-authored-by: Powei Feng <powei@google.com>
---------
Co-authored-by: Powei Feng <powei@google.com>
This introduces two new methods to `ToneMapper`: `isOneDimensional()` and
`isLDR()`. `ColorGrading` references these values along with other parameters
passed to the builder to determine if we can get away with only generating a
one-dimensional LUT. Meanwhile, `PostProcessManager` takes care of setting the
new spec constants and uniforms for `colorGrading.mat` and
`colorGradingAsSubpass.mat`.
Depth resolve is handled via a custom shader and therefore cannot
use the transient texture path.
This is fixes the black screen bug when MSAA is turned on and
when using the latest MoltenVK (1.2.11).
Subpasses should not be used anyways due to the result of WebGPUDriver::isFrameBufferFetchSupported. However, we need to make sure the GLSL is not generated for WebGPU, or Tint is unable to convert.
Initial groundwork in creating WebGPU backend components, namely
the instance, adapter, device, and queue.
If configured to do so, the backend will print out details about
these components.
The samples/hellotriangle.cpp was slightly modified to include a
webgpu option which allows for exercising the above, but does not
yet draw anything to the screen/window.
NOTE: This has only been sanity tested with hello triangle
on Mac OS and the Android emulator at this time, NOT IOS,
Windows, or Linux yet.