Commit Graph

1369 Commits (b2f9c8fba94afb293deb025581e21bda7f4a745f)

Author SHA1 Message Date
Stenzek b2f9c8fba9
Misc: Fix deprecated implicit conversion of fstring->string_view 1 month ago
Stenzek 1f925f86e2
Misc: Add a couple of missing fmt/format.h includes 1 month ago
Stenzek d59fcfb9d5
ImGuiManager: Support rendering Hebrew text 1 month ago
Stenzek 8a96948a8d
GPUDevice: Use same buffer sizes across backends
Hopefully avoid failed allocations in Metal.
2 months ago
Stenzek 3bb39f4e33
ELFFile: Skip embedded PS-X EXE header segments
Ignore the metadata PT_LOAD segment emitted by PS1 linker scripts and
validate loadable segment ranges before invoking the loader callback.

Fixes kernel crash when loading.
2 months ago
Stenzek 60a4ec3639
GDBServer: Queue complete protocol packets
Expose BufferedStreamSocket's allow-smaller policy through Write while
preserving the existing default for other callers. GDB replies now
require enough queue space for the complete RSP packet and close the
connection instead of silently discarding an unwritten suffix.
2 months ago
Stenzek 41ee402156
D3D12Device: Track readback source usage
Record the current fence on source textures used by asynchronous readback copies.
2 months ago
Stenzek 7b15961208
D3D12Device: Fix incorrect push constant root parameter index
ComputeSingleTextureAndPushConstants should not be offset.
2 months ago
Stenzek 685cf83c87
D3D12Device: Order dependent compute UAV accesses
Insert UAV barriers for image render targets before each compute dispatch.
2 months ago
Stenzek a4a03c476d
D3D12Device: Assert alignment of download texture footprints
Also use destination coordinates for subregion copies.
2 months ago
Stenzek 402f9207f7
D3D12Device: Set render-pass clear formats
Initialize render-pass descriptors and provide the required RTV and
DSV formats for clear accesses.
2 months ago
Stenzek b5f821bf4f
D3D12Device: Transition all uploaded subresources
Use an all-subresource barrier after initial uploads so tracked state matches
every texture slice and mip level.
2 months ago
Stenzek 2273890101
D3D12Device: Create texture arrays with all layers
Use the requested array size and create array-aware UAV and mipmap
views for layered textures.
2 months ago
Stenzek 6e2f06a55a
D3D12Device: Bound persistent descriptor allocation
Mark unused tail bits unavailable so partial descriptor heaps cannot return
out-of-range handles.
2 months ago
Stenzek a8c9324f4a
D3D12Device: Transition cleared compute targets to UAV
Commit pending clears before transitioning image render targets to
unordered-access state.
2 months ago
Stenzek 69c5051a80
D3D12Device: Restore state after mipmap rendering
Rebind the normal pipeline state after the temporary mipmap pass and
explicitly set its triangle topology.
2 months ago
Stenzek 7b690ec1f4
VulkanDevice: Reset descriptor builder storage
Reset all backing-info cursors alongside descriptor writes so a cleared
builder can be reused safely.
2 months ago
Stenzek a8de757b97
VulkanDevice: Store compute specialization values
Write each specialization value into packed backing storage and map entries to
that storage instead of leaving zero-initialized data.

Not used anywhere, but was still wrong.
2 months ago
Stenzek d1720c040b
VulkanDevice: Respect fixed surface extents
Use currentExtent on normal WSI platforms and retain the intentional
window-size override only for Android and macOS.
2 months ago
Stenzek 40e178787a
VulkanDevice: Fix legacy render pass attachments
Don't set the attachment-description flags (was totally wrong).

Describe only the first render target as the feedback-loop input attachment.
2 months ago
Stenzek 5f40f0ac1b
VulkanDevice: Select advertised surface format pairs
Return complete VkSurfaceFormatKHR entries from the surface query, preserve
color spaces, and only choose an arbitrary format for the single
undefined-format case.
2 months ago
Stenzek 8462365389
VulkanDevice: Address texture array subresources
Create array views for layered textures, copy and blit the requested layer.

Also fix the off-by-one in Map().
2 months ago
Stenzek 668f39fabc
VulkanDevice: Wait for presentation before swapchain teardown
Make GPU-idle waits include queued presentation work and use them before resize
and present-mode recreation destroys swapchain semaphores.
2 months ago
Stenzek 037ee47f7e
VulkanDevice: Validate imported host buffer memory
Create the buffer before allocation, intersect both memory-type masks, honor
size and dedicated requirements, and propagate bind failures.

Also require that the memory is coherent, because otherwise we'd have to resort
to architecture-specific cache flush methods. vkInvalidateMappedMemoryRanges()
is only valid on memory mapped by vkMapMemory().
2 months ago
Stenzek 6584adde9b
VulkanDevice: Fix download buffer barrier ranges
Synchronize the actual offset and full pitched-row span written by image
readbacks, and invalidate the matching allocation range on the host.

Also fix the incorrect source stage.
2 months ago
Stenzek 4b5edbb85c
VulkanDevice: Preserve mapped texture upload pitch
Commit and copy partial texture maps with the same mapped-width pitch that was
reserved and returned to the caller.
2 months ago
Stenzek fc3e117f8d
VulkanDevice: Synchronize compute image accesses
Use the compute storage-image layout for dispatches and include compute shader
stages when transitioning sampled images.
2 months ago
Stenzek bbac943b5c
VulkanDevice: Expose shared UBO binding to compute shaders 2 months ago
Stenzek b3b57a2a02
VulkanDevice: Bind initial compute pipelines correctly
Select the pipeline bind point from the pipeline layout while initializing shared
command-buffer state needed by later graphics draws.
2 months ago
Stenzek f1029b2df2
AnimatedImage: Fix possible integer overflow of dimensions 2 months ago
Stenzek 6651f4d197
ISOReader: Fix possible integer overflow in GetSizeInSectors() 2 months ago
Stenzek e0734381a3
CDImageMDS: Fix a bunch of possible buffer overreads 2 months ago
Stenzek 467d0971b1
CDImagePBP: Check SFO index table count before reading 2 months ago
Stenzek b9cf3bbf00
CDImagePBP: Add missing validation of BCD digits 2 months ago
Stenzek cd5e48af95
StateWrapper: Add max size checks to vector/string data
Stops up to 4GB/16GB/32GB memory being allocated.
2 months ago
Stenzek 8a2c05ce58
Image: Avoid integer overflow for dimensions 2 months ago
Stenzek 12a4a26480
Util: Avoid intermediate memory allocation in Shift-JIS conversion 2 months ago
Stenzek 3fed119df0
MediaCapture: Default to H264 on all platforms
H264 is provided by OpenH264 on Linux.
2 months ago
Stenzek d6d8a7be19
CDImageCue: Fix implicit truncation warning 2 months ago
Stenzek 76f01d8c9f
Misc: Fix under-allocation in sjis2utf8()
This whole thing needs to be tossed and rewritten.
2 months ago
Stenzek c07bf47d62
CDImageCue: Validate bits-per-sample for wave files 2 months ago
Stenzek 26fa2ee4a5
MetalDevice: Fix a few leaky object retains 2 months ago
Stenzek 97400d2d08
StateWrapper: Clamp enum values to max
Prevents going into unreachable code in some of these classes.
2 months ago
Stenzek 865fd9e577
StateWrapper: Save contiguous FIFOQueue bytes in one memcpy()
Faster, yay.
2 months ago
Stenzek f3d0e84b0d
StateWrapper: Avoid possible integer overflow on 32-bit systems
Sizes are 32-bit, so 32-bit size_t could overflow.

Wouldn't even have to care about this if it wasn't for 32-bit ARM...
2 months ago
Stenzek c42082c4bb
StateWrapper: Avoid heap allocation in FIFOQueue read
This was a leftover from when the StateWrapper was stream-backed instead
of memory-backed.
2 months ago
Stenzek d33d3b82c8
Qt: Rework media capture menu
Turn audio/video-only capture into a menu choice, instead of a setting
toggle.
2 months ago
Stenzek 8b9aaf7875
MediaCapture: Display OSD warning when resampling 2 months ago
Stenzek 049437e42f
MediaCapture: Resample audio when encoder doesn't support 44.1KHz 2 months ago
Stenzek 4f72f40343
MediaCapture: Fix possible corruption in audio-only capture
When the encoder thread is too slow.
2 months ago