When viewport_scale_offset_enabled is disabled, the fallback path
previously assumed a top-left origin for both viewport and scissor.
This caused incorrect positioning or inverted geometry when the GPU
state expected a lower-left origin.
This change:
- Adjusts viewport setup: if window_origin is lower-left, shift Y and
flip height negative to emulate lower-left in Vulkan’s top-left space.
- Updates scissor setup: recalculates Y for lower-left origin and
ensures width/height fall back to 1 if zero, avoiding invalid extents.
This aligns Vulkan’s viewport/scissor behavior with Maxwell state,
fixing rendering issues in paths without scale/offset enabled.
Co-authored-by: MaranBr <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/294
Co-authored-by: Shinmegumi <[email protected]>
Co-committed-by: Shinmegumi <[email protected]>
Create 3 ring buffers which rotates between buffers each frame to avoid GPU/CPU conflicts
BindMappedUniformBuffer first tries to allocate from the ring buffer and falls back to staging pool only if allocation is too large.
Note to testers:- please test the performance since it is primarily a performance optimization and also look for visual bugs.
Co-authored-by: wildcard <[email protected]>
Co-authored-by: MaranBr <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2698
Reviewed-by: MaranBr <[email protected]>
Co-authored-by: Shinmegumi <[email protected]>
Co-committed-by: Shinmegumi <[email protected]>
Provided by community member, elementary-particle. Submitted as PR by MaranBR.
Fixed issues:
1. The queue cache forgot to put the host query into unregister queue if they weren't synced. This will block all the banks from freeing causing a major leak.
2. SamplesQueryCounter is not aligned with renderpass begin/end. This creates invalid queries.
3. Conditional rendering is not turned on/off at the correct location making them invalid.
Co-authored-by: Maufeat <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/131
Co-authored-by: Shinmegumi <[email protected]>
Co-committed-by: Shinmegumi <[email protected]>