- 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]
- Move directories into more descriptive organization
- src_mdbook, src_markdeep, src_raw
- mdbook will be generated from mdbook
- markdeep will be generated to html
- raw will be copied without modification
- Add script that will run on a succesful commit to main. This
script will update /docs and commit the changes.
The alignment must be calculated using the
VulkanTexture format (dstImage) instead of the
PixelBufferDescriptor format.
Set the correct values for all supported formats
in getTexelBlockSize.
Use a helper function to correctly calculate the
required aligment based on the spec rules for
vkCmdCopyBufferToImage.
Co-authored-by: Serge Metral <sergemetral@google.com>