mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase against 85ba92c33a8c689e375fae2f3313657aaa9877fb.
This commit is contained in:
parent
e2e98ce27a
commit
6a55df61ce
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "f0053d06c4fc168360da638fa26f1927fe975262"
|
||||
echo "85ba92c33a8c689e375fae2f3313657aaa9877fb"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -6938,109 +6938,107 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
||||
patch_apply wined3d-CSMT_Main/0063-wined3d-Wait-for-the-cs-to-finish-before-destroying-.patch
|
||||
patch_apply wined3d-CSMT_Main/0064-wined3d-Run-the-cs-asynchronously.patch
|
||||
patch_apply wined3d-CSMT_Main/0065-wined3d-Send-blits-through-the-command-stream.patch
|
||||
patch_apply wined3d-CSMT_Main/0066-wined3d-Put-update_surface-checks-back-in-place.patch
|
||||
patch_apply wined3d-CSMT_Main/0067-wined3d-Get-rid-of-WINED3D_BUFFER_FLUSH.patch
|
||||
patch_apply wined3d-CSMT_Main/0068-wined3d-Don-t-force-strict-draw-ordering-for-multith.patch
|
||||
patch_apply wined3d-CSMT_Main/0069-wined3d-Send-render-target-view-clears-through-the-c.patch
|
||||
patch_apply wined3d-CSMT_Main/0070-wined3d-Wait-for-the-CS-in-GetDC.patch
|
||||
patch_apply wined3d-CSMT_Main/0071-wined3d-send-resource-maps-through-the-command-strea.patch
|
||||
patch_apply wined3d-CSMT_Main/0072-wined3d-Get-rid-of-the-end_scene-flush-and-finish.patch
|
||||
patch_apply wined3d-CSMT_Main/0073-wined3d-Replace-the-linked-lists-with-a-ringbuffer.patch
|
||||
patch_apply wined3d-CSMT_Main/0074-wined3d-Don-t-preload-buffers-on-unmap.patch
|
||||
patch_apply wined3d-CSMT_Main/0075-wined3d-Don-t-call-glFinish-before-swapping.patch
|
||||
patch_apply wined3d-CSMT_Main/0076-wined3d-wined3d_-_query_issue-never-fails.patch
|
||||
patch_apply wined3d-CSMT_Main/0077-wined3d-Add-query-support-to-the-command-stream.patch
|
||||
patch_apply wined3d-CSMT_Main/0078-wined3d-Check-our-CS-state-to-find-out-if-a-query-is.patch
|
||||
patch_apply wined3d-CSMT_Main/0079-wined3d-Poll-queries-automatically-in-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0080-wined3d-Introduce-a-separate-queue-for-priority-comm.patch
|
||||
patch_apply wined3d-CSMT_Main/0081-wined3d-Destroy-queries-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0082-wined3d-Separate-main-and-worker-thread-query-state.patch
|
||||
patch_apply wined3d-CSMT_Main/0083-wined3d-Don-t-poll-queries-that-failed-to-start.patch
|
||||
patch_apply wined3d-CSMT_Main/0084-wined3d-Remove-restated-queries-from-the-poll-list.patch
|
||||
patch_apply wined3d-CSMT_Main/0085-wined3d-Don-t-reset-the-query-state-if-it-doesn-t-ha.patch
|
||||
patch_apply wined3d-CSMT_Main/0086-wined3d-Put-this-into-the-query-poll-patch.patch
|
||||
patch_apply wined3d-CSMT_Main/0087-wined3d-Send-update_surface-commands-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0088-wined3d-Send-texture-preloads-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0089-wined3d-Send-update_texture-calls-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0090-wined3d-Get-rid-of-the-surface_upload_data-glFinish.patch
|
||||
patch_apply wined3d-CSMT_Main/0091-wined3d-Don-t-lock-the-src-volume-in-device_update_v.patch
|
||||
patch_apply wined3d-CSMT_Main/0092-wined3d-Handle-evit_managed_resources-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0093-wined3d-Introduce-resource-fencing.patch
|
||||
patch_apply wined3d-CSMT_Main/0094-wined3d-Fence-update_texture-and-update_surface-call.patch
|
||||
patch_apply wined3d-CSMT_Main/0095-wined3d-Dirtify-resources-on-unmap.patch
|
||||
patch_apply wined3d-CSMT_Main/0096-wined3d-Fence-texture-reads-in-draws.patch
|
||||
patch_apply wined3d-CSMT_Main/0097-wined3d-Fence-render-targets-and-depth-stencils.patch
|
||||
patch_apply wined3d-CSMT_Main/0098-wined3d-Fence-blit-operations.patch
|
||||
patch_apply wined3d-CSMT_Main/0099-wined3d-Fence-color_fill-operations.patch
|
||||
patch_apply wined3d-CSMT_Main/0100-wined3d-Fence-clear-calls.patch
|
||||
patch_apply wined3d-CSMT_Main/0101-wined3d-Fence-present-calls.patch
|
||||
patch_apply wined3d-CSMT_Main/0102-wined3d-Make-resource-maps-and-unmaps-a-priority-com.patch
|
||||
patch_apply wined3d-CSMT_Main/0103-wined3d-Dirtify-changed-textures-through-the-command.patch
|
||||
patch_apply wined3d-CSMT_Main/0104-wined3d-Wrap-GL-BOs-in-a-structure.patch
|
||||
patch_apply wined3d-CSMT_Main/0105-wined3d-Separate-resource-map-and-draw-buffers.patch
|
||||
patch_apply wined3d-CSMT_Main/0106-wined3d-Implement-DISCARD-resource-maps-with-buffers.patch
|
||||
patch_apply wined3d-CSMT_Main/0107-wined3d-Implement-DISCARD-resource-maps-with-heap-me.patch
|
||||
patch_apply wined3d-CSMT_Main/0108-wined3d-Unset-some-objects-in-state_init_default.patch
|
||||
patch_apply wined3d-CSMT_Main/0109-wined3d-Don-t-request-the-frontbuffer-to-create-dumm.patch
|
||||
patch_apply wined3d-CSMT_Main/0110-wined3d-Use-double-buffered-buffers-for-multithreade.patch
|
||||
patch_apply wined3d-CSMT_Main/0111-wined3d-Don-t-synchronize-NOOVERWRITE-buffer-maps.patch
|
||||
patch_apply wined3d-CSMT_Main/0112-wined3d-Separate-buffer-map-write-and-draw-read-memo.patch
|
||||
patch_apply wined3d-CSMT_Main/0113-wined3d-Accelerate-DISCARD-buffer-maps.patch
|
||||
patch_apply wined3d-CSMT_Main/0114-wined3d-Accelerate-READONLY-buffer-maps.patch
|
||||
patch_apply wined3d-CSMT_Main/0115-wined3d-Access-the-buffer-dirty-areas-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0116-wined3d-Ignore-buffer-resource.map_count-in-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0117-wined3d-Send-buffer-preloads-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0118-wined3d-Use-glBufferSubData-instead-of-glMapBufferRa.patch
|
||||
patch_apply wined3d-CSMT_Main/0119-wined3d-Separate-GL-buffer-discard-control-from-igno.patch
|
||||
patch_apply wined3d-CSMT_Main/0120-wined3d-Create-buffers-before-mapping-them.patch
|
||||
patch_apply wined3d-CSMT_Main/0121-wined3d-Destroy-views-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0122-wined3d-Remove-another-glFinish.patch
|
||||
patch_apply wined3d-CSMT_Main/0123-wined3d-Destroy-vertex-declarations-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0124-wined3d-Destroy-shaders-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0125-wined3d-Create-VBOs-through-the-command-stream.patch
|
||||
patch_apply wined3d-CSMT_Main/0126-wined3d-Clean-up-resource-data-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0127-wined3d-Clean-up-buffer-resource-data-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0128-wined3d-Clean-up-volume-resource-data-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0129-wined3d-Clean-up-surfaces-through-the-cs.patch
|
||||
patch_apply wined3d-CSMT_Main/0130-wined3d-Clean-up-texture-resources-through-the-cs.patch
|
||||
patch_apply wined3d-CSMT_Main/0131-wined3d-Unload-resources-through-the-CS-in-uninit_3d.patch
|
||||
patch_apply wined3d-CSMT_Main/0132-wined3d-Unload-resources-through-the-CS-in-device_re.patch
|
||||
patch_apply wined3d-CSMT_Main/0133-wined3d-Don-t-glFinish-after-a-depth-buffer-blit.patch
|
||||
patch_apply wined3d-CSMT_Main/0134-wined3d-Remove-software-cursor-support.patch
|
||||
patch_apply wined3d-CSMT_Main/0135-wined3d-Create-dummy-textures-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0136-wined3d-Create-the-initial-context-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0137-wined3d-Recreate-ctx-and-dummy-textures-through-the-.patch
|
||||
patch_apply wined3d-CSMT_Main/0138-wined3d-Ignore-WINED3D_MAP_NO_DIRTY_UPDATE-in-resour.patch
|
||||
patch_apply wined3d-CSMT_Main/0139-wined3d-Delete-GL-contexts-through-the-CS-in-reset.patch
|
||||
patch_apply wined3d-CSMT_Main/0140-wined3d-Delete-GL-contexts-through-the-CS-in-uninit_.patch
|
||||
patch_apply wined3d-CSMT_Main/0141-wined3d-Invoke-surface_unload-through-the-CS-in-wine.patch
|
||||
patch_apply wined3d-CSMT_Main/0142-wined3d-Use-an-event-to-block-the-worker-thread-when.patch
|
||||
patch_apply wined3d-CSMT_Main/0143-wined3d-Fence-preload-operations.patch
|
||||
patch_apply wined3d-CSMT_Main/0144-d3d8-tests-D3DLOCK_NO_DIRTY_UPDATE-on-managed-textur.patch
|
||||
patch_apply wined3d-CSMT_Main/0145-d3d9-tests-D3DLOCK_NO_DIRTY_UPDATE-on-managed-textur.patch
|
||||
patch_apply wined3d-CSMT_Main/0146-wined3d-Completely-reset-the-state-on-reset.patch
|
||||
patch_apply wined3d-CSMT_Main/0147-wined3d-Send-getdc-and-releasedc-through-the-command.patch
|
||||
patch_apply wined3d-CSMT_Main/0148-wined3d-Set-map_heap_memory-NULL-when-allocating-a-P.patch
|
||||
patch_apply wined3d-CSMT_Main/0149-wined3d-Wait-only-for-the-buffer-to-be-idle.patch
|
||||
patch_apply wined3d-CSMT_Main/0150-wined3d-Add-a-comment-about-worker-thread-lag.patch
|
||||
patch_apply wined3d-CSMT_Main/0151-wined3d-Remove-the-texture-destroy-glFinish.patch
|
||||
patch_apply wined3d-CSMT_Main/0152-wined3d-Move-FBO-destruction-into-the-worker-thread.patch
|
||||
patch_apply wined3d-CSMT_Main/0153-wined3d-Don-t-incref-decref-textures-in-color-depth-.patch
|
||||
patch_apply wined3d-CSMT_Main/0154-Winex11-complain-about-glfinish.patch
|
||||
patch_apply wined3d-CSMT_Main/0155-wined3d-Make-sure-the-new-window-is-set-up-before-se.patch
|
||||
patch_apply wined3d-CSMT_Main/0156-wined3d-Remove-the-device_reset-CS-sync-fixme.patch
|
||||
patch_apply wined3d-CSMT_Main/0157-wined3d-Put-GL_APPLE_flush_buffer_range-syncing-back.patch
|
||||
patch_apply wined3d-CSMT_Main/0158-wined3d-Wait-for-the-resource-to-be-idle-when-destro.patch
|
||||
patch_apply wined3d-CSMT_Main/0159-wined3d-Don-t-sync-on-redundant-discard-calls.patch
|
||||
patch_apply wined3d-CSMT_Main/0160-wined3d-Don-t-discard-new-buffers.patch
|
||||
patch_apply wined3d-CSMT_Main/0161-wined3d-Don-t-try-to-sync-VBOs-manually-on-OSX-with-.patch
|
||||
patch_apply wined3d-CSMT_Main/0162-wined3d-Render-target-lock-hack.patch
|
||||
patch_apply wined3d-CSMT_Main/0163-wined3d-Avoid-calling-wined3d_surface_blt-from-surfa.patch
|
||||
patch_apply wined3d-CSMT_Main/0164-wined3d-Only-discard-buffers-that-are-in-use.patch
|
||||
patch_apply wined3d-CSMT_Main/0165-wined3d-Destroy-samplers-through-the-command-stream.patch
|
||||
patch_apply wined3d-CSMT_Main/0166-wined3d-Hack-to-reject-unsupported-color-fills.patch
|
||||
patch_apply wined3d-CSMT_Main/0167-wined3d-Alloc-the-buffer-map-array-before-mapping-th.patch
|
||||
patch_apply wined3d-CSMT_Main/0168-wined3d-Send-update_sub_resource-calls-through-the-c.patch
|
||||
patch_apply wined3d-CSMT_Main/0066-wined3d-Get-rid-of-WINED3D_BUFFER_FLUSH.patch
|
||||
patch_apply wined3d-CSMT_Main/0067-wined3d-Don-t-force-strict-draw-ordering-for-multith.patch
|
||||
patch_apply wined3d-CSMT_Main/0068-wined3d-Send-render-target-view-clears-through-the-c.patch
|
||||
patch_apply wined3d-CSMT_Main/0069-wined3d-Wait-for-the-CS-in-GetDC.patch
|
||||
patch_apply wined3d-CSMT_Main/0070-wined3d-send-resource-maps-through-the-command-strea.patch
|
||||
patch_apply wined3d-CSMT_Main/0071-wined3d-Get-rid-of-the-end_scene-flush-and-finish.patch
|
||||
patch_apply wined3d-CSMT_Main/0072-wined3d-Replace-the-linked-lists-with-a-ringbuffer.patch
|
||||
patch_apply wined3d-CSMT_Main/0073-wined3d-Don-t-preload-buffers-on-unmap.patch
|
||||
patch_apply wined3d-CSMT_Main/0074-wined3d-Don-t-call-glFinish-before-swapping.patch
|
||||
patch_apply wined3d-CSMT_Main/0075-wined3d-wined3d_-_query_issue-never-fails.patch
|
||||
patch_apply wined3d-CSMT_Main/0076-wined3d-Add-query-support-to-the-command-stream.patch
|
||||
patch_apply wined3d-CSMT_Main/0077-wined3d-Check-our-CS-state-to-find-out-if-a-query-is.patch
|
||||
patch_apply wined3d-CSMT_Main/0078-wined3d-Poll-queries-automatically-in-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0079-wined3d-Introduce-a-separate-queue-for-priority-comm.patch
|
||||
patch_apply wined3d-CSMT_Main/0080-wined3d-Destroy-queries-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0081-wined3d-Separate-main-and-worker-thread-query-state.patch
|
||||
patch_apply wined3d-CSMT_Main/0082-wined3d-Don-t-poll-queries-that-failed-to-start.patch
|
||||
patch_apply wined3d-CSMT_Main/0083-wined3d-Remove-restated-queries-from-the-poll-list.patch
|
||||
patch_apply wined3d-CSMT_Main/0084-wined3d-Don-t-reset-the-query-state-if-it-doesn-t-ha.patch
|
||||
patch_apply wined3d-CSMT_Main/0085-wined3d-Put-this-into-the-query-poll-patch.patch
|
||||
patch_apply wined3d-CSMT_Main/0086-wined3d-Send-texture-preloads-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0087-wined3d-Send-update_texture-calls-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0088-wined3d-Get-rid-of-the-surface_upload_data-glFinish.patch
|
||||
patch_apply wined3d-CSMT_Main/0089-wined3d-Don-t-lock-the-src-volume-in-device_update_v.patch
|
||||
patch_apply wined3d-CSMT_Main/0090-wined3d-Handle-evit_managed_resources-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0091-wined3d-Introduce-resource-fencing.patch
|
||||
patch_apply wined3d-CSMT_Main/0092-wined3d-Fence-update_texture-and-update_surface-call.patch
|
||||
patch_apply wined3d-CSMT_Main/0093-wined3d-Dirtify-resources-on-unmap.patch
|
||||
patch_apply wined3d-CSMT_Main/0094-wined3d-Fence-texture-reads-in-draws.patch
|
||||
patch_apply wined3d-CSMT_Main/0095-wined3d-Fence-render-targets-and-depth-stencils.patch
|
||||
patch_apply wined3d-CSMT_Main/0096-wined3d-Fence-blit-operations.patch
|
||||
patch_apply wined3d-CSMT_Main/0097-wined3d-Fence-color_fill-operations.patch
|
||||
patch_apply wined3d-CSMT_Main/0098-wined3d-Fence-clear-calls.patch
|
||||
patch_apply wined3d-CSMT_Main/0099-wined3d-Fence-present-calls.patch
|
||||
patch_apply wined3d-CSMT_Main/0100-wined3d-Make-resource-maps-and-unmaps-a-priority-com.patch
|
||||
patch_apply wined3d-CSMT_Main/0101-wined3d-Dirtify-changed-textures-through-the-command.patch
|
||||
patch_apply wined3d-CSMT_Main/0102-wined3d-Wrap-GL-BOs-in-a-structure.patch
|
||||
patch_apply wined3d-CSMT_Main/0103-wined3d-Separate-resource-map-and-draw-buffers.patch
|
||||
patch_apply wined3d-CSMT_Main/0104-wined3d-Implement-DISCARD-resource-maps-with-buffers.patch
|
||||
patch_apply wined3d-CSMT_Main/0105-wined3d-Implement-DISCARD-resource-maps-with-heap-me.patch
|
||||
patch_apply wined3d-CSMT_Main/0106-wined3d-Unset-some-objects-in-state_init_default.patch
|
||||
patch_apply wined3d-CSMT_Main/0107-wined3d-Don-t-request-the-frontbuffer-to-create-dumm.patch
|
||||
patch_apply wined3d-CSMT_Main/0108-wined3d-Use-double-buffered-buffers-for-multithreade.patch
|
||||
patch_apply wined3d-CSMT_Main/0109-wined3d-Don-t-synchronize-NOOVERWRITE-buffer-maps.patch
|
||||
patch_apply wined3d-CSMT_Main/0110-wined3d-Separate-buffer-map-write-and-draw-read-memo.patch
|
||||
patch_apply wined3d-CSMT_Main/0111-wined3d-Accelerate-DISCARD-buffer-maps.patch
|
||||
patch_apply wined3d-CSMT_Main/0112-wined3d-Accelerate-READONLY-buffer-maps.patch
|
||||
patch_apply wined3d-CSMT_Main/0113-wined3d-Access-the-buffer-dirty-areas-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0114-wined3d-Ignore-buffer-resource.map_count-in-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0115-wined3d-Send-buffer-preloads-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0116-wined3d-Use-glBufferSubData-instead-of-glMapBufferRa.patch
|
||||
patch_apply wined3d-CSMT_Main/0117-wined3d-Separate-GL-buffer-discard-control-from-igno.patch
|
||||
patch_apply wined3d-CSMT_Main/0118-wined3d-Create-buffers-before-mapping-them.patch
|
||||
patch_apply wined3d-CSMT_Main/0119-wined3d-Destroy-views-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0120-wined3d-Remove-another-glFinish.patch
|
||||
patch_apply wined3d-CSMT_Main/0121-wined3d-Destroy-vertex-declarations-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0122-wined3d-Destroy-shaders-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0123-wined3d-Create-VBOs-through-the-command-stream.patch
|
||||
patch_apply wined3d-CSMT_Main/0124-wined3d-Clean-up-resource-data-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0125-wined3d-Clean-up-buffer-resource-data-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0126-wined3d-Clean-up-volume-resource-data-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0127-wined3d-Clean-up-surfaces-through-the-cs.patch
|
||||
patch_apply wined3d-CSMT_Main/0128-wined3d-Clean-up-texture-resources-through-the-cs.patch
|
||||
patch_apply wined3d-CSMT_Main/0129-wined3d-Unload-resources-through-the-CS-in-uninit_3d.patch
|
||||
patch_apply wined3d-CSMT_Main/0130-wined3d-Unload-resources-through-the-CS-in-device_re.patch
|
||||
patch_apply wined3d-CSMT_Main/0131-wined3d-Don-t-glFinish-after-a-depth-buffer-blit.patch
|
||||
patch_apply wined3d-CSMT_Main/0132-wined3d-Remove-software-cursor-support.patch
|
||||
patch_apply wined3d-CSMT_Main/0133-wined3d-Create-dummy-textures-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0134-wined3d-Create-the-initial-context-through-the-CS.patch
|
||||
patch_apply wined3d-CSMT_Main/0135-wined3d-Recreate-ctx-and-dummy-textures-through-the-.patch
|
||||
patch_apply wined3d-CSMT_Main/0136-wined3d-Ignore-WINED3D_MAP_NO_DIRTY_UPDATE-in-resour.patch
|
||||
patch_apply wined3d-CSMT_Main/0137-wined3d-Delete-GL-contexts-through-the-CS-in-reset.patch
|
||||
patch_apply wined3d-CSMT_Main/0138-wined3d-Delete-GL-contexts-through-the-CS-in-uninit_.patch
|
||||
patch_apply wined3d-CSMT_Main/0139-wined3d-Invoke-surface_unload-through-the-CS-in-wine.patch
|
||||
patch_apply wined3d-CSMT_Main/0140-wined3d-Use-an-event-to-block-the-worker-thread-when.patch
|
||||
patch_apply wined3d-CSMT_Main/0141-wined3d-Fence-preload-operations.patch
|
||||
patch_apply wined3d-CSMT_Main/0142-d3d8-tests-D3DLOCK_NO_DIRTY_UPDATE-on-managed-textur.patch
|
||||
patch_apply wined3d-CSMT_Main/0143-d3d9-tests-D3DLOCK_NO_DIRTY_UPDATE-on-managed-textur.patch
|
||||
patch_apply wined3d-CSMT_Main/0144-wined3d-Completely-reset-the-state-on-reset.patch
|
||||
patch_apply wined3d-CSMT_Main/0145-wined3d-Send-getdc-and-releasedc-through-the-command.patch
|
||||
patch_apply wined3d-CSMT_Main/0146-wined3d-Set-map_heap_memory-NULL-when-allocating-a-P.patch
|
||||
patch_apply wined3d-CSMT_Main/0147-wined3d-Wait-only-for-the-buffer-to-be-idle.patch
|
||||
patch_apply wined3d-CSMT_Main/0148-wined3d-Add-a-comment-about-worker-thread-lag.patch
|
||||
patch_apply wined3d-CSMT_Main/0149-wined3d-Remove-the-texture-destroy-glFinish.patch
|
||||
patch_apply wined3d-CSMT_Main/0150-wined3d-Move-FBO-destruction-into-the-worker-thread.patch
|
||||
patch_apply wined3d-CSMT_Main/0151-wined3d-Don-t-incref-decref-textures-in-color-depth-.patch
|
||||
patch_apply wined3d-CSMT_Main/0152-Winex11-complain-about-glfinish.patch
|
||||
patch_apply wined3d-CSMT_Main/0153-wined3d-Make-sure-the-new-window-is-set-up-before-se.patch
|
||||
patch_apply wined3d-CSMT_Main/0154-wined3d-Remove-the-device_reset-CS-sync-fixme.patch
|
||||
patch_apply wined3d-CSMT_Main/0155-wined3d-Put-GL_APPLE_flush_buffer_range-syncing-back.patch
|
||||
patch_apply wined3d-CSMT_Main/0156-wined3d-Wait-for-the-resource-to-be-idle-when-destro.patch
|
||||
patch_apply wined3d-CSMT_Main/0157-wined3d-Don-t-sync-on-redundant-discard-calls.patch
|
||||
patch_apply wined3d-CSMT_Main/0158-wined3d-Don-t-discard-new-buffers.patch
|
||||
patch_apply wined3d-CSMT_Main/0159-wined3d-Don-t-try-to-sync-VBOs-manually-on-OSX-with-.patch
|
||||
patch_apply wined3d-CSMT_Main/0160-wined3d-Render-target-lock-hack.patch
|
||||
patch_apply wined3d-CSMT_Main/0161-wined3d-Avoid-calling-wined3d_surface_blt-from-surfa.patch
|
||||
patch_apply wined3d-CSMT_Main/0162-wined3d-Only-discard-buffers-that-are-in-use.patch
|
||||
patch_apply wined3d-CSMT_Main/0163-wined3d-Destroy-samplers-through-the-command-stream.patch
|
||||
patch_apply wined3d-CSMT_Main/0164-wined3d-Hack-to-reject-unsupported-color-fills.patch
|
||||
patch_apply wined3d-CSMT_Main/0165-wined3d-Alloc-the-buffer-map-array-before-mapping-th.patch
|
||||
patch_apply wined3d-CSMT_Main/0166-wined3d-Send-update_sub_resource-calls-through-the-c.patch
|
||||
patch_apply wined3d-CSMT_Main/9998-wined3d-Enable-CSMT-by-default-print-a-winediag-mess.patch
|
||||
patch_apply wined3d-CSMT_Main/9999-IfDefined.patch
|
||||
(
|
||||
@ -7109,7 +7107,6 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Wait for the cs to finish before destroying the device.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Run the cs asynchronously.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Send blits through the command stream.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Put update_surface checks back in place.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Get rid of WINED3D_BUFFER_FLUSH.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Don'\''t force strict draw ordering for multithreaded CS.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Send render target view clears through the command stream.", 1 },';
|
||||
@ -7130,7 +7127,6 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Remove restated queries from the poll list.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Don'\''t reset the query state if it doesn'\''t have a ctx.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Put this into the query poll patch.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Send update_surface commands through the CS.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Send texture preloads through the CS.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Send update_texture calls through the CS.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Get rid of the surface_upload_data glFinish.", 1 },';
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a79863383e3dc7dfff564432e6c5086aa612d8af Mon Sep 17 00:00:00 2001
|
||||
From 3c4dad98dfe1a841fd219dc8ac304a8358f11513 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 4 Apr 2013 11:50:09 +0200
|
||||
Subject: wined3d: Request a glFinish before modifying resources outside the cs
|
||||
@ -6,14 +6,14 @@ Subject: wined3d: Request a glFinish before modifying resources outside the cs
|
||||
---
|
||||
dlls/wined3d/buffer.c | 17 +++++++++++++++++
|
||||
dlls/wined3d/cs.c | 30 ++++++++++++++++++++++++++++++
|
||||
dlls/wined3d/device.c | 42 ++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/wined3d/device.c | 35 +++++++++++++++++++++++++++++++++++
|
||||
dlls/wined3d/resource.c | 7 +++++++
|
||||
dlls/wined3d/surface.c | 7 +++++++
|
||||
dlls/wined3d/wined3d_private.h | 1 +
|
||||
6 files changed, 104 insertions(+)
|
||||
6 files changed, 97 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
|
||||
index 0735ab7..3f740dd 100644
|
||||
index 6271307..87d0b91 100644
|
||||
--- a/dlls/wined3d/buffer.c
|
||||
+++ b/dlls/wined3d/buffer.c
|
||||
@@ -931,6 +931,15 @@ void buffer_internal_preload(struct wined3d_buffer *buffer, struct wined3d_conte
|
||||
@ -51,7 +51,7 @@ index 0735ab7..3f740dd 100644
|
||||
/* Filter redundant WINED3D_MAP_DISCARD maps. The 3DMark2001 multitexture
|
||||
* fill rate test seems to depend on this. When we map a buffer with
|
||||
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
index 63ac035..b7bedbf 100644
|
||||
index a675ce9..e42cbe0 100644
|
||||
--- a/dlls/wined3d/cs.c
|
||||
+++ b/dlls/wined3d/cs.c
|
||||
@@ -66,6 +66,7 @@ enum wined3d_cs_op
|
||||
@ -113,10 +113,10 @@ index 63ac035..b7bedbf 100644
|
||||
|
||||
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size)
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index d43075b..5e5f3f5 100644
|
||||
index 3697a9f..83b1bf65 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -2765,6 +2765,13 @@ static HRESULT process_vertices_strided(const struct wined3d_device *device, DWO
|
||||
@@ -2857,6 +2857,13 @@ static HRESULT process_vertices_strided(const struct wined3d_device *device, DWO
|
||||
return hr;
|
||||
}
|
||||
|
||||
@ -130,7 +130,7 @@ index d43075b..5e5f3f5 100644
|
||||
wined3d_device_get_transform(device, WINED3D_TS_VIEW, &view_mat);
|
||||
wined3d_device_get_transform(device, WINED3D_TS_PROJECTION, &proj_mat);
|
||||
wined3d_device_get_transform(device, WINED3D_TS_WORLD_MATRIX(0), &world_mat);
|
||||
@@ -3562,6 +3569,13 @@ HRESULT CDECL wined3d_device_update_texture(struct wined3d_device *device,
|
||||
@@ -3644,6 +3651,13 @@ HRESULT CDECL wined3d_device_update_texture(struct wined3d_device *device,
|
||||
++src_skip_levels;
|
||||
}
|
||||
|
||||
@ -144,21 +144,7 @@ index d43075b..5e5f3f5 100644
|
||||
/* Make sure that the destination texture is loaded. */
|
||||
context = context_acquire(device, NULL);
|
||||
wined3d_texture_load(dst_texture, context, FALSE);
|
||||
@@ -3810,6 +3824,13 @@ HRESULT CDECL wined3d_device_update_surface(struct wined3d_device *device,
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
+ if (wined3d_settings.cs_multithreaded)
|
||||
+ {
|
||||
+ FIXME("Waiting for cs.\n");
|
||||
+ wined3d_cs_emit_glfinish(device->cs);
|
||||
+ device->cs->ops->finish(device->cs);
|
||||
+ }
|
||||
+
|
||||
return surface_upload_from_surface(dst_surface, dst_point, src_surface, src_rect);
|
||||
}
|
||||
|
||||
@@ -4064,6 +4085,13 @@ HRESULT CDECL wined3d_device_clear_rendertarget_view(struct wined3d_device *devi
|
||||
@@ -4131,6 +4145,13 @@ HRESULT CDECL wined3d_device_clear_rendertarget_view(struct wined3d_device *devi
|
||||
rect = &r;
|
||||
}
|
||||
|
||||
@ -172,7 +158,7 @@ index d43075b..5e5f3f5 100644
|
||||
resource = wined3d_texture_get_sub_resource(wined3d_texture_from_resource(resource), view->sub_resource_idx);
|
||||
|
||||
return surface_color_fill(surface_from_resource(resource), rect, color);
|
||||
@@ -4377,6 +4405,13 @@ void CDECL wined3d_device_evict_managed_resources(struct wined3d_device *device)
|
||||
@@ -4454,6 +4475,13 @@ void CDECL wined3d_device_evict_managed_resources(struct wined3d_device *device)
|
||||
|
||||
TRACE("device %p.\n", device);
|
||||
|
||||
@ -186,7 +172,7 @@ index d43075b..5e5f3f5 100644
|
||||
LIST_FOR_EACH_ENTRY_SAFE(resource, cursor, &device->resources, struct wined3d_resource, resource_list_entry)
|
||||
{
|
||||
TRACE("Checking resource %p for eviction.\n", resource);
|
||||
@@ -4499,6 +4534,13 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
|
||||
@@ -4579,6 +4607,13 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
|
||||
TRACE("device %p, swapchain_desc %p, mode %p, callback %p, reset_state %#x.\n",
|
||||
device, swapchain_desc, mode, callback, reset_state);
|
||||
|
||||
@ -201,10 +187,10 @@ index d43075b..5e5f3f5 100644
|
||||
{
|
||||
ERR("Failed to get the first implicit swapchain.\n");
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 9c40d42..c72987c 100644
|
||||
index 8d372b9..fb84a0f 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -786,6 +786,13 @@ HRESULT wined3d_resource_map(struct wined3d_resource *resource,
|
||||
@@ -812,6 +812,13 @@ HRESULT wined3d_resource_map(struct wined3d_resource *resource,
|
||||
|
||||
flags = wined3d_resource_sanitize_map_flags(resource, flags);
|
||||
|
||||
@ -219,10 +205,10 @@ index 9c40d42..c72987c 100644
|
||||
context = context_acquire(device, NULL);
|
||||
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index cba9da9..5e44494 100644
|
||||
index ec56882..d19b40a 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -5007,6 +5007,13 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -4759,6 +4759,13 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
|
||||
flags &= ~WINEDDBLT_DONOTWAIT;
|
||||
}
|
||||
|
||||
@ -237,10 +223,10 @@ index cba9da9..5e44494 100644
|
||||
{
|
||||
WARN("D3D not initialized, using fallback.\n");
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index d018cd9..2e42c79 100644
|
||||
index 3b5e753..377da6b 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2702,6 +2702,7 @@ void wined3d_cs_emit_set_vertex_declaration(struct wined3d_cs *cs,
|
||||
@@ -2826,6 +2826,7 @@ void wined3d_cs_emit_set_vertex_declaration(struct wined3d_cs *cs,
|
||||
void wined3d_cs_emit_set_viewport(struct wined3d_cs *cs, const struct wined3d_viewport *viewport) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_set_consts_f(struct wined3d_cs *cs, UINT start_register, const float *constants,
|
||||
UINT vector4f_count, enum wined3d_shader_type type) DECLSPEC_HIDDEN;
|
||||
@ -249,5 +235,5 @@ index d018cd9..2e42c79 100644
|
||||
/* Direct3D terminology with little modifications. We do not have an issued state
|
||||
* because only the driver knows about it, but we have a created state because d3d
|
||||
--
|
||||
2.5.1
|
||||
2.7.0
|
||||
|
||||
|
@ -1,127 +0,0 @@
|
||||
From 843b306004f731e36e9d9d9336228cd2c06f9128 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Wed, 20 Aug 2014 14:14:23 +0200
|
||||
Subject: wined3d: Put update_surface checks back in place
|
||||
|
||||
Unfortunately I can't remove the code from surface_update_from_surface
|
||||
yet because blits depend on them.
|
||||
---
|
||||
dlls/wined3d/device.c | 68 ++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/wined3d/surface.c | 2 +-
|
||||
dlls/wined3d/wined3d_private.h | 1 +
|
||||
3 files changed, 70 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 819e6de..e804afe 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -3773,6 +3773,13 @@ HRESULT CDECL wined3d_device_update_surface(struct wined3d_device *device,
|
||||
struct wined3d_surface *src_surface, const RECT *src_rect,
|
||||
struct wined3d_surface *dst_surface, const POINT *dst_point)
|
||||
{
|
||||
+ const struct wined3d_format *src_format = src_surface->resource.format;
|
||||
+ const struct wined3d_format *dst_format = dst_surface->resource.format;
|
||||
+ UINT update_w, update_h;
|
||||
+ UINT dst_w, dst_h;
|
||||
+ RECT r, dst_rect;
|
||||
+ POINT p;
|
||||
+
|
||||
TRACE("device %p, src_surface %p, src_rect %s, dst_surface %p, dst_point %s.\n",
|
||||
device, src_surface, wine_dbgstr_rect(src_rect),
|
||||
dst_surface, wine_dbgstr_point(dst_point));
|
||||
@@ -3784,6 +3791,67 @@ HRESULT CDECL wined3d_device_update_surface(struct wined3d_device *device,
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
+ if (src_format->id != dst_format->id)
|
||||
+ {
|
||||
+ WARN("Source and destination surfaces should have the same format.\n");
|
||||
+ return WINED3DERR_INVALIDCALL;
|
||||
+ }
|
||||
+
|
||||
+ if (!dst_point)
|
||||
+ {
|
||||
+ p.x = 0;
|
||||
+ p.y = 0;
|
||||
+ dst_point = &p;
|
||||
+ }
|
||||
+ else if (dst_point->x < 0 || dst_point->y < 0)
|
||||
+ {
|
||||
+ WARN("Invalid destination point.\n");
|
||||
+ return WINED3DERR_INVALIDCALL;
|
||||
+ }
|
||||
+
|
||||
+ if (!src_rect)
|
||||
+ {
|
||||
+ r.left = 0;
|
||||
+ r.top = 0;
|
||||
+ r.right = src_surface->resource.width;
|
||||
+ r.bottom = src_surface->resource.height;
|
||||
+ src_rect = &r;
|
||||
+ }
|
||||
+ else if (src_rect->left < 0 || src_rect->left >= src_rect->right
|
||||
+ || src_rect->top < 0 || src_rect->top >= src_rect->bottom)
|
||||
+ {
|
||||
+ WARN("Invalid source rectangle.\n");
|
||||
+ return WINED3DERR_INVALIDCALL;
|
||||
+ }
|
||||
+
|
||||
+ dst_w = dst_surface->resource.width;
|
||||
+ dst_h = dst_surface->resource.height;
|
||||
+
|
||||
+ update_w = src_rect->right - src_rect->left;
|
||||
+ update_h = src_rect->bottom - src_rect->top;
|
||||
+
|
||||
+ if (update_w > dst_w || dst_point->x > dst_w - update_w
|
||||
+ || update_h > dst_h || dst_point->y > dst_h - update_h)
|
||||
+ {
|
||||
+ WARN("Destination out of bounds.\n");
|
||||
+ return WINED3DERR_INVALIDCALL;
|
||||
+ }
|
||||
+
|
||||
+ if ((src_surface->container->resource.format_flags & WINED3DFMT_FLAG_BLOCKS)
|
||||
+ && !surface_check_block_align_rect(src_surface, src_rect))
|
||||
+ {
|
||||
+ WARN("Source rectangle not block-aligned.\n");
|
||||
+ return WINED3DERR_INVALIDCALL;
|
||||
+ }
|
||||
+
|
||||
+ SetRect(&dst_rect, dst_point->x, dst_point->y, dst_point->x + update_w, dst_point->y + update_h);
|
||||
+ if ((dst_surface->container->resource.format_flags & WINED3DFMT_FLAG_BLOCKS)
|
||||
+ && !surface_check_block_align_rect(dst_surface, &dst_rect))
|
||||
+ {
|
||||
+ WARN("Destination rectangle not block-aligned.\n");
|
||||
+ return WINED3DERR_INVALIDCALL;
|
||||
+ }
|
||||
+
|
||||
if (wined3d_settings.cs_multithreaded)
|
||||
{
|
||||
FIXME("Waiting for cs.\n");
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 2d98a93..5a2b14e 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -1371,7 +1371,7 @@ static BOOL surface_check_block_align(struct wined3d_surface *surface, const str
|
||||
return wined3d_resource_check_block_align(&surface->resource, box);
|
||||
}
|
||||
|
||||
-static BOOL surface_check_block_align_rect(struct wined3d_surface *surface, const RECT *rect)
|
||||
+BOOL surface_check_block_align_rect(struct wined3d_surface *surface, const RECT *rect)
|
||||
{
|
||||
struct wined3d_box box = {rect->left, rect->top, rect->right, rect->bottom, 0, 1};
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 73da744..99212de 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2494,6 +2494,7 @@ void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct w
|
||||
void surface_blt_ugly(struct wined3d_surface *dst_surface, const RECT *dst_rect_in,
|
||||
struct wined3d_surface *src_surface, const RECT *src_rect_in, DWORD flags,
|
||||
const WINEDDBLTFX *fx, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
+BOOL surface_check_block_align_rect(struct wined3d_surface *surface, const RECT *rect) DECLSPEC_HIDDEN;
|
||||
|
||||
void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context,
|
||||
const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.6.0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user