eden-miror/src/video_core/buffer_cache
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 <>
2025-07-13 19:27:39 +02:00
..
buffer_base.h SMMU: Initial adaptation to video_core. 2024-01-18 21:12:30 -05:00
buffer_cache.cpp Move buffer bindings to per-channel state 2023-05-27 17:04:18 +01:00
buffer_cache.h [vk, opengl] Prevent GPU draw call if CBUF binding fails (cbuf0 error handling) (#2) 2025-07-13 19:27:39 +02:00
buffer_cache_base.h [vk, opengl] Prevent GPU draw call if CBUF binding fails (cbuf0 error handling) (#2) 2025-07-13 19:27:39 +02:00
memory_tracker_base.h SMMU: Initial adaptation to video_core. 2024-01-18 21:12:30 -05:00
usage_tracker.h buffer_cache: avoid overflow in usage tracker (#13166) 2024-02-27 15:39:11 +01:00
word_manager.h Core: Eliminate core/memory dependancies. 2024-01-18 21:12:30 -05:00