Commit Graph

506 Commits

Author SHA1 Message Date
Matt Borgerson ae3fe91223 nv2a/gl: Rebase line width feature 2024-12-31 01:37:05 -07:00
Matt Borgerson fb7feb7b1f nv2a/vk: Fix missing display surface addr in debug marker 2024-12-31 01:37:05 -07:00
Matt Borgerson 4a09eeb121 nv2a/vk: Use unsigned types for clear scissor calculation for now 2024-12-31 01:37:05 -07:00
Matt Borgerson 1e5cae068a nv2a/vk: Drop unused vertex_buffer_inline field 2024-12-31 01:37:05 -07:00
Matt Borgerson 477d5489ac nv2a/vk: Copy remapped vert data after pre-draw 2024-12-31 01:37:05 -07:00
Matt Borgerson 28c9f5f6ef nv2a/vk: Load 16b float depth textures as unorm to match surface w/a 2024-12-31 01:37:05 -07:00
Matt Borgerson c098b82108 nv2a/vk: VK_CHECK call to vkBindImageMemory 2024-12-31 01:37:05 -07:00
Matt Borgerson 085fb33141 nv2a/vk: Fix external memory handle type on Windows 2024-12-31 01:37:05 -07:00
Matt Borgerson 88835a1019 nv2a/vk,gl: Handle case where pline_offset == 0 2024-12-31 01:37:05 -07:00
Matt Borgerson 58c1daf594 nv2a/vk: Report dirty if no pipeline is bound 2024-12-31 01:37:05 -07:00
Matt Borgerson 8dc3b646a3 nv2a/vk: Move display GL compat after line_offset adjust 2024-12-31 01:37:05 -07:00
Matt Borgerson 7afeda5da0 nv2a/vk: Add regs control_{0,3}, setupraster to shader dirty test 2024-12-31 01:37:05 -07:00
Matt Borgerson 4cd4153937 nv2a/vk: Move reg dirty clear into create_pipeline 2024-12-31 01:37:05 -07:00
Matt Borgerson de1381c932 nv2a/vk: Drop pipeline merge stat 2024-12-31 01:37:05 -07:00
Matt Borgerson 986b18214c nv2a/vk: Drop display update early-out 2024-12-31 01:37:05 -07:00
Matt Borgerson 974b2be87a nv2a/vk: Add command buffer region debug markers 2024-12-31 01:37:05 -07:00
Matt Borgerson c7f82ab79f nv2a/gl: Fix bind_shaders dgroup 2024-12-31 01:37:05 -07:00
Matt Borgerson 580c2e9da4 nv2a/vk: Run full dirty texture check 2024-12-31 01:37:05 -07:00
Matt Borgerson 5527e908b7 nv2a/vk: Process pending surface upload just in time for display 2024-12-31 01:37:05 -07:00
Matt Borgerson e5be3f2714 nv2a/vk: Add missing math.h include 2024-12-31 01:37:05 -07:00
Matt Borgerson d054b366f8 nv2a/vk: Add pvideo support 2024-12-31 01:37:05 -07:00
Matt Borgerson f26b8c32d6 n2va/vk: Key textures on sampler state for now 2024-12-31 01:37:05 -07:00
Matt Borgerson 69b5318cb5 nv2a/vk: Fix create_pipeline debug marker inbalance 2024-12-31 01:37:05 -07:00
Matt Borgerson 9ab1f96911 nv2a/vk: Make pgraph_vk_insert_debug_marker format strings 2024-12-31 01:37:05 -07:00
Matt Borgerson ca42f0f2df nv2a/vk: Clear in separate renderpass for now 2024-12-31 01:37:05 -07:00
Matt Borgerson 31db8d04b0 nv2a/vk: Ensure queries do not include clears 2024-12-31 01:37:05 -07:00
Matt Borgerson d47fef9467 nv2a/vk: Fix reports 2024-12-31 01:37:05 -07:00
Matt Borgerson 2f910eeacf nv2a/vk: Fixup unaligned attribute data in inline buffer 2024-12-31 01:37:05 -07:00
Matt Borgerson 3096f2a9c8 nv2a/vk: Always bind fragment shader in draw pipeline 2024-12-31 01:37:05 -07:00
Matt Borgerson a2b994d80d nv2a/vk: Only bind clear fragment shader on partial color clear 2024-12-31 01:37:05 -07:00
Matt Borgerson 76e2b779e3 nv2a/psh: Handle rect tex on project3d 2024-12-31 01:37:05 -07:00
Matt Borgerson 62acb2db7e nv2a/psh: Drop rect_tex assertion 2024-12-31 01:37:05 -07:00
Matt Borgerson 1c38a0a42b nv2a/psh: Normalize coords at sample time 2024-12-31 01:37:05 -07:00
Matt Borgerson ec59148333 nv2a: Normalize unnormalized texture coordinates in shader 2024-12-31 01:37:05 -07:00
Matt Borgerson 20f318f437 nv2a/glsl: Add swizzled attr check 2024-12-31 01:37:05 -07:00
Matt Borgerson 6ba917fed9 nv2a/vk: Fix clear scissor ymin 2024-12-31 01:37:05 -07:00
Matt Borgerson 605605d0da nv2a/vk: Fix scissor overflow 2024-12-31 01:37:05 -07:00
Matt Borgerson a3d0131a03 nv2a/vk: Fix mipmap filtering for _LOD0 min filters 2024-12-31 01:37:05 -07:00
Matt Borgerson bc066fdea9 nv2a/vk: Flush/barrier on texture upload 2024-12-31 01:37:05 -07:00
Matt Borgerson 6171e40c39 nv2a/vk: Minor cleanup 2024-12-31 01:37:05 -07:00
Matt Borgerson a5877b17f8 nv2a/vk: Fix compute pipeline finalize 2024-12-31 01:37:05 -07:00
Matt Borgerson 5a6b8a14da nv2a/vk: Only clear stencil on images with stencil aspect 2024-12-31 01:37:05 -07:00
Matt Borgerson 824a378a23 nv2a/vk: Disable memory trimmer for now 2024-12-31 01:37:05 -07:00
Matt Borgerson 9200246c62 nv2a/vk: Make main buffers dedicated 2024-12-31 01:37:05 -07:00
Matt Borgerson c66bdbe85d nv2a/vk: Include result code in device/instance creation error messages 2024-12-31 01:37:05 -07:00
Matt Borgerson 894bcf1b58 nv2a/vk: Add texture finalize checks 2024-12-31 01:37:05 -07:00
Matt Borgerson f68159d1c4 nv2a/vk: Simplify zeta to texture, add barrier 2024-12-31 01:37:05 -07:00
Matt Borgerson e20a2b15b3 nv2a/vk: Don't release textures until after draw completes 2024-12-31 01:37:05 -07:00
Matt Borgerson 33db2787f7 nv2a/vk: Fixup depth transition stages 2024-12-31 01:37:05 -07:00
Matt Borgerson f6d70abd04 nv2a: Fix nv2a_dbg_renderdoc_init on Windows 2024-12-31 01:37:05 -07:00
Matt Borgerson 4e75b5e3ce nv2a/vk: Always use staging image for surface upload 2024-12-31 01:37:05 -07:00
Matt Borgerson 64e8046d1f nv2a/vk: Specify local_size_{y,z} = 1 in compute shader 2024-12-31 01:37:05 -07:00
Matt Borgerson dc5a220486 nv2a/vk: Specify set in compute shader layout 2024-12-31 01:37:05 -07:00
Matt Borgerson 9161e3e14a nv2a/vk: Create surface if one not currently bound 2024-12-31 01:37:05 -07:00
Matt Borgerson c802468d05 nv2a/vk: Relax invalid surface compat check 2024-12-31 01:37:05 -07:00
Matt Borgerson 1fec4947b6 nv2a/vk: Ensure clear rect never extends beyond surface 2024-12-31 01:37:05 -07:00
Matt Borgerson c881f8641f nv2a/vk: Ensure pack buffer offsets meet minStorageBufferOffsetAlignment 2024-12-31 01:37:05 -07:00
Matt Borgerson 374eada8ef nv2a/vk: Ensure pg->clearing set before pgraph_vk_surface_update 2024-12-31 01:37:05 -07:00
Matt Borgerson 28092ad13b nv2a/vk: Only include uniform attr definition when necessary 2024-12-31 01:37:05 -07:00
Matt Borgerson 567bc33a70 nv2a/glsl: Fix project2d usampler lookup 2024-12-31 01:37:05 -07:00
Matt Borgerson 017444b8a0 nv2a/glsl: Ensure sampler type matches texture dimensionality 2024-12-31 01:37:05 -07:00
Matt Borgerson bc46a9303d nv2a/vk: Add compute pipeline cache, scale workgroups 2024-12-31 01:37:05 -07:00
Matt Borgerson 8e5a77c45d nv2a/vk: Fix missing scale in d32_sfloat_s8_uint pack 2024-12-31 01:37:05 -07:00
Matt Borgerson ddc1a388e8 nv2a/vk: Add vertex memory offset fixme 2024-12-31 01:37:05 -07:00
mborgerson 334c6293fe nv2a/vk: Fix swapped texture filters 2024-12-31 01:37:05 -07:00
mborgerson ebe3ee155b nv2a/vk: Fix compute descriptor pool size 2024-12-31 01:37:05 -07:00
Matt Borgerson 36e7cca1e9 nv2a/glsl: Initialize vars 2024-12-31 01:37:05 -07:00
Matt Borgerson fc803fe375 nv2a/vk: Omit pipeline fragment shader when no color binding 2024-12-31 01:37:05 -07:00
Matt Borgerson dd3bb50f11 nv2a/vk: Tighten renderpass dependencies 2024-12-31 01:37:05 -07:00
Matt Borgerson a209df8aa5 nv2a/vk: Tighten a few layout transitions 2024-12-31 01:37:05 -07:00
Matt Borgerson 177dcc7559 nv2a/vk: Clear render_passes on finalization 2024-12-31 01:37:05 -07:00
Matt Borgerson 5119e3a365 nv2a/vk: Change display renderpass loadOp to don't care 2024-12-31 01:37:05 -07:00
Matt Borgerson a562007f84 nv2a/vk: Enable synchronization validation 2024-12-31 01:37:05 -07:00
Matt Borgerson c41853a3f3 nv2a/vk: Finish when queue is empty 2024-12-31 01:37:05 -07:00
Matt Borgerson a2a193b4e3 nv2a/vk: Add assert_on_validation_msg option 2024-12-31 01:37:05 -07:00
Matt Borgerson 6bb96f607b nv2a/vk: Add debug_shaders option 2024-12-31 01:37:05 -07:00
Matt Borgerson bb0221af82 nv2a/vk: Target glslang to SPV 1.6 2024-12-31 01:37:05 -07:00
Matt Borgerson c63cdc18de nv2a/vk: Fix integer format border color 2024-12-31 01:37:05 -07:00
Matt Borgerson b9e68a760b nv2a/vk: Fix shadowmap readback in frag shader 2024-12-31 01:37:05 -07:00
Matt Borgerson f08d4a89fb nv2a/vk: Download any dirty surfaces covering vertex buffers 2024-12-31 01:37:05 -07:00
Matt Borgerson ad0aec9adb nv2a/vk: Move overlapping surface download logic to function 2024-12-31 01:37:05 -07:00
Matt Borgerson da1e72a39a nv2a/vk: Use additional descriptor sets in compute ops 2024-12-31 01:37:05 -07:00
Matt Borgerson 7018f379b3 nv2a/vk: Add debug helper function for inserting markers 2024-12-31 01:37:05 -07:00
Matt Borgerson 49ae576006 n2va/vk: Assert instead of exit() on validation error 2024-12-31 01:37:05 -07:00
Matt Borgerson bb69e5cd2f nv2a/vk: Finalize more display state 2024-12-31 01:37:05 -07:00
Matt Borgerson 7b37a94438 nv2a/vk: Finalize, simplify render passes 2024-12-31 01:37:05 -07:00
Matt Borgerson e8a39d6f45 nv2a/vk: Use correct min,mag texture filters 2024-12-31 01:37:05 -07:00
Matt Borgerson a80cfc8573 nv2a/vk: Don't call vkCmdBindVertexBuffers if 0 bindings 2024-12-31 01:37:05 -07:00
Matt Borgerson 497bac61c9 nv2a/vk: Ensure border color type matches format type 2024-12-31 01:37:05 -07:00
Matt Borgerson 2bb2084ece nv2a/vk: Use textureLod in psh_append_shadowmap 2024-12-31 01:37:05 -07:00
Matt Borgerson b0e3d00a5d nv2a/vk: Drop fragment shader when only depth attachment is cleared 2024-12-31 01:37:05 -07:00
Matt Borgerson 126a51724b nv2a/vk: Finalize clear shaders 2024-12-31 01:37:05 -07:00
Matt Borgerson f35d489203 nv2a/vk: Fix renderer debug messenger registration 2024-12-31 01:37:05 -07:00
Matt Borgerson 3f0a7e514d nv2a/vk: Fix display dimensions 2024-12-31 01:37:05 -07:00
Matt Borgerson 9c43c0d702 nv2a/vk: Add barrier after compute to staging buffer copy 2024-12-31 01:37:05 -07:00
Matt Borgerson 89db9590f7 nv2a/vk: Flush vertex ram buffer, insert barrier 2024-12-31 01:37:05 -07:00
Matt Borgerson 9ab8549a4e nv2a/vk: Insert barrier after staging buffer copies 2024-12-31 01:37:05 -07:00
Matt Borgerson 1a57d4ae94 nv2a/vk: Fix finish queue submission semaphore wait stage 2024-12-31 01:37:05 -07:00
Matt Borgerson 84c09c631c nv2a/vk: Ensure error message is always set on instance failure 2024-12-31 01:37:05 -07:00
Matt Borgerson 0169caadd0 nv2a/vk: Fallback to UBO if maxPushConstantsSize is insufficient 2024-12-31 01:37:05 -07:00