You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ghost
c47f6615d3
[vk, opengl] Prevent GPU draw call if CBUF binding fails (cbuf0 error handling) (#2)
Add defensive checks to cancel draw calls early if any graphics storage buffer (CBUF) fails to bind properly.
- Modified BindGraphicsStorageBuffer to return false on invalid buffer ID.,
- ConfigureImpl (both OpenGL and Vulkan) now propagates binding failure.,
- Pipeline::Configure returns false if CBUF binding fails.,
- PrepareDraw cancels rendering if pipeline configuration fails.,
This avoids undefined GPU behavior, draw corruption, or crashes caused by uninitialized or invalid constant buffer (CBUF0) access, particularly in games with faulty or missing shader bindings.
Eden Collaborator: <edencollaborator@eden-emu.org>
Authored-by: CamilleLaVey <camillelavey@eden-emu.org>
Signed-off-by: Bix <bix@bixed.xyz>
Co-authored-by: Bix <114880614+Bixbr@users.noreply.github.com>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2
Co-authored-by: Ghost <>
Co-committed-by: Ghost <>
|
9 months ago |
| .. |
|
present
|
renderer: add area sampling scaling method (#201)
|
9 months ago |
|
blit_image.cpp
|
video_core: Fix ogl status error when draw_texture
|
3 years ago |
|
blit_image.h
|
video_core: Implement maxwell3d draw texture method
|
3 years ago |
|
gl_blit_screen.cpp
|
renderer: add area sampling scaling method (#201)
|
9 months ago |
|
gl_blit_screen.h
|
gpu: dependency-inject scaling/antialiasing filter state for capture layers
|
2 years ago |
|
gl_buffer_cache.cpp
|
SMMU: Initial adaptation to video_core.
|
2 years ago |
|
gl_buffer_cache.h
|
Buffer Cache: Refactor to use Range sets instead
|
2 years ago |
|
gl_buffer_cache_base.cpp
|
Buffer Cache: Fully rework the buffer cache.
|
3 years ago |
|
gl_compute_pipeline.cpp
|
settings,general: Rename non-confirming enums
|
3 years ago |
|
gl_compute_pipeline.h
|
shaders: Track local memory usage
|
3 years ago |
|
gl_device.cpp
|
gl_device: Remove AMD blacklists that are no longer applicable
|
2 years ago |
|
gl_device.h
|
OpenGL: Limit lmem warmup to NVIDIA
|
3 years ago |
|
gl_fence_manager.cpp
|
OpenGL: Prefer glClientWaitSync for OGLSync objects
|
3 years ago |
|
gl_fence_manager.h
|
Fence Manager: implement async fence management in a sepparate thread.
|
3 years ago |
|
gl_graphics_pipeline.cpp
|
[vk, opengl] Prevent GPU draw call if CBUF binding fails (cbuf0 error handling) (#2)
|
9 months ago |
|
gl_graphics_pipeline.h
|
[vk, opengl] Prevent GPU draw call if CBUF binding fails (cbuf0 error handling) (#2)
|
9 months ago |
|
gl_query_cache.cpp
|
Core: Clang format and other small issues.
|
2 years ago |
|
gl_query_cache.h
|
Core: Clang format and other small issues.
|
2 years ago |
|
gl_rasterizer.cpp
|
[vk, opengl] Prevent GPU draw call if CBUF binding fails (cbuf0 error handling) (#2)
|
9 months ago |
|
gl_rasterizer.h
|
renderer_opengl: isolate core presentation code
|
2 years ago |
|
gl_resource_manager.cpp
|
gl_rasterizer: Implement DrawTransformFeedback macro
|
2 years ago |
|
gl_resource_manager.h
|
gl_rasterizer: Implement DrawTransformFeedback macro
|
2 years ago |
|
gl_shader_cache.cpp
|
[VK] Rework SPIRV Shader Optimization (#238)
|
9 months ago |
|
gl_shader_cache.h
|
Optimize SpiriV output
|
12 months ago |
|
gl_shader_context.h
|
video_core: preallocate fewer IR blocks
|
3 years ago |
|
gl_shader_manager.cpp
|
OpenGL: Limit lmem warmup to NVIDIA
|
3 years ago |
|
gl_shader_manager.h
|
OpenGL: Add Local Memory warmup shader
|
3 years ago |
|
gl_shader_util.cpp
|
renderer_opengl: delete shader source after linking
|
4 years ago |
|
gl_shader_util.h
|
chore: make yuzu REUSE compliant
|
4 years ago |
|
gl_staging_buffer_pool.cpp
|
gl_texture_cache: Enable async downloads
|
3 years ago |
|
gl_staging_buffer_pool.h
|
gl_texture_cache: Enable async downloads
|
3 years ago |
|
gl_state_tracker.cpp
|
ir/texture_pass: Use host_info instead of querying Settings::values (#9176)
|
3 years ago |
|
gl_state_tracker.h
|
state_tracker: workaround channel setup for homebrew
|
4 years ago |
|
gl_texture_cache.cpp
|
video_core: consistently account for resolution scaling when rendering
|
2 years ago |
|
gl_texture_cache.h
|
VideoCore: Move Slot Vector to Common
|
2 years ago |
|
gl_texture_cache_base.cpp
|
general: Convert source file copyright comments over to SPDX
|
4 years ago |
|
maxwell_to_gl.h
|
gl_staging_buffer_pool: Refactor allocation variables into a struct
|
3 years ago |
|
renderer_opengl.cpp
|
Removed telemetry and anonymized SCM (git) strings
|
1 year ago |
|
renderer_opengl.h
|
Removed telemetry and anonymized SCM (git) strings
|
1 year ago |
|
util_shaders.cpp
|
gl
|
3 years ago |
|
util_shaders.h
|
OpenGL: Make use of persistent buffer maps in buffer cache downloads
|
3 years ago |