[vk, opengl] Prevent GPU draw call if CBUF binding fails (cbuf0 error handling) #2

Merged
Bix merged 2 commits from test2 into master 2025-07-13 19:27:40 +02:00
Bix commented 2025-07-05 23:26:42 +02:00 (Migrated from git.bixed.xyz)

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

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>
crueter changed title from [Pipelines, GL, VK] Prevent GPU draw call if CBUF binding fails (cbuf0 error handling) to [vk, opengl] Prevent GPU draw call if CBUF binding fails (cbuf0 error handling) 2025-07-11 10:06:46 +02:00
crueter force-pushed test2 from 88ff3f9ec8 to 815004411a
Some checks failed
eden-license / license-header (pull_request) Failing after 16s
2025-07-11 10:06:52 +02:00
Compare
crueter force-pushed test2 from 815004411a
Some checks failed
eden-license / license-header (pull_request) Failing after 16s
to 48db39e067
All checks were successful
eden-license / license-header (pull_request) Successful in 20s
2025-07-13 03:42:39 +02:00
Compare
crueter force-pushed test2 from 48db39e067
All checks were successful
eden-license / license-header (pull_request) Successful in 20s
to c916e7fc58
All checks were successful
eden-license / license-header (pull_request) Successful in 30s
2025-07-13 08:42:34 +02:00
Compare
crueter merged commit c47f6615d3 into master 2025-07-13 19:27:40 +02:00
crueter deleted branch test2 2025-07-13 19:27:40 +02:00
DraVee referenced this pull request from a commit 2025-11-27 04:12:41 +01:00
DraVee referenced this pull request from a commit 2025-12-21 23:34:35 +01:00
DraVee referenced this pull request from a commit 2025-12-26 03:57:58 +01:00
DraVee referenced this pull request from a commit 2026-01-01 09:45:04 +01:00
DraVee referenced this pull request from a commit 2026-01-01 09:48:19 +01:00
DraVee referenced this pull request from a commit 2026-01-01 10:31:04 +01:00
DraVee referenced this pull request from a commit 2026-01-01 10:42:29 +01:00
DraVee referenced this pull request from a commit 2026-01-01 11:46:27 +01:00
DraVee referenced this pull request from a commit 2026-01-01 22:30:22 +01:00
DraVee referenced this pull request from a commit 2026-01-01 22:31:51 +01:00
Lizzie referenced this pull request from a commit 2026-01-07 06:46:37 +01:00
Lizzie referenced this pull request from a commit 2026-01-07 07:00:36 +01:00
Sign in to join this conversation.
No description provided.