- Move upload step to later so that comparison result is also
included in the upload
- Fix the wrong relative paths in the comparison_result.json
- Fix viewer logic to pick only the latest run for a PR.
the descriptor used for SSR is different depending on the pass. In
the color pass, it's used as the source of the SSRs buffers and is an
array (refraction & reflection). In the SSR pass it's the history
buffer and is just a 2D texture.
The invocable sent to Program::diagnostic contains a reference
to Material, which could be destroyed by the time the invocable
is called. We make sure that invocable does not have a reference.
- Add github link to page
- Fix link in contributing.md
- Small update to docs_src/README.md
- Remove logo in the core docs
- Move branching.md and release_guide.md to /docs_src
- Add "under construction" warning for the web samples
- Update matdbg README.md
- Remove build.sh option for turning markdeep docs into html.
This is subsumed by workflow in docs_src
- Remove old hugo templating path. This is also subsumed by
docs_src.
Previously, if a comparison fails then the artifacts are not
uploaded. This is defeats the puprpose of having artifacts. We
fix that by moving the test logic into presubmit.yml.
local_test.sh is the way to repro a run from local machine.
This commit refactors the ShaderCompilerService to move the logic for
retrieving compiled programs from the cache off the main thread and into
the compiler thread pool.
Previously, the cache lookup was performed on the main thread before a
compilation job was created. If the cache was slow or contained a large
number of entries, this could cause a noticeable stall, impacting
application responsiveness.
By moving the cache retrieval into the compilation task, the lookup now
happens on the background thread. This alleviates the main thread stall.
BUGS=[430628799]
When flushing a VulkanCommandBufffer the last bound pipeline in VulkanPipelineCache is not reset, so when starting a new VulkanCommandBuffer recording if the next binded pipeline is the same as the current one the vkCmdBindPipeline is not recorded, causing undefined behavior.
By the spec, the vkCmdBindPipeline only affects the commands in the same vkCommandBuffer. https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindPipeline.html#_description
BUGS=429105603,361822355
Only invalidate UBOs when the data actually changes. It turns out it's
a fairly common case for application to update MaterialInstance
parameters with the same value; we now check for this before
marking the UBO "dirty".
The overhead of this check should be very small but it could save
many very expensive buffer updates.
Only invalidate UBOs when the data actually changes. It turns out it's
a fairly common case for application to update MaterialInstance
parameters with the same value; we now check for this before
marking the UBO "dirty".
The overhead of this check should be very small but it could save
many very expensive buffer updates.
instead of using a single resource binary for all materials, each
postfx set of materials (e.g. dof, bloom) gets its own resource file
based on the directory it is in.
- Make sure that we don't allocate a VulkanContext on the function
stack since this was passed erroroneously to other components
and stored as a pointer
- Use const& to refer to VulkanContext across components for
consistency.
- Remove unused VkPhysicalDeviceProtectedMemoryProperties struct.
resgen now generates the resources size/offset directly as #define
instead of as an `extern` variable. The assembly file also
doesn't generate the corresponding global variables, saving some binary
space.
* gl: Enhance error reporting for asynchronous shader operations
When ShaderCompilerService asynchronously compiles and links shaders,
unexpected errors (e.g., GL_CONTEXT_LOST) can occur after the initial GL
call, complicating diagnostics.
This change improves error context by collecting the GL error status
when querying shader compilation and program link statuses. This
provides a more detailed understanding of error origins.
BUGS=[373396840]
* feedback
`glProgramBinary` can succeed but result in an unlinked program, for
instance if the graphics driver has been updated. This change adds a
check for `GL_LINK_STATUS` in addition to `glGetError` to ensure the
program is valid.
Also adds more detailed logging on failure.
BUGS=[430290459]