[D3D12] Changed default resource state based on GPU Validation
- This prevents GBV from spamming warnings
This commit is contained in:
parent
179591c8bc
commit
7566871220
|
@ -1199,7 +1199,7 @@ bool D3D12CommandProcessor::SetupContext() {
|
|||
ui::d3d12::util::FillBufferResourceDesc(
|
||||
gamma_ramp_buffer_desc, (256 + 128 * 3) * 4, D3D12_RESOURCE_FLAG_NONE);
|
||||
// The first action will be uploading.
|
||||
gamma_ramp_buffer_state_ = D3D12_RESOURCE_STATE_COPY_DEST;
|
||||
gamma_ramp_buffer_state_ = D3D12_RESOURCE_STATE_COMMON;
|
||||
if (FAILED(device->CreateCommittedResource(
|
||||
&ui::d3d12::util::kHeapPropertiesDefault, heap_flag_create_not_zeroed,
|
||||
&gamma_ramp_buffer_desc, gamma_ramp_buffer_state_, nullptr,
|
||||
|
|
|
@ -100,7 +100,7 @@ bool D3D12PrimitiveProcessor::InitializeBuiltinIndexBuffer(
|
|||
if (FAILED(device->CreateCommittedResource(
|
||||
&ui::d3d12::util::kHeapPropertiesDefault,
|
||||
provider.GetHeapFlagCreateNotZeroed(), &resource_desc,
|
||||
D3D12_RESOURCE_STATE_COPY_DEST, nullptr,
|
||||
D3D12_RESOURCE_STATE_COMMON, nullptr,
|
||||
IID_PPV_ARGS(&draw_resource)))) {
|
||||
XELOGE(
|
||||
"D3D12 primitive processor: Failed to create the built-in index "
|
||||
|
|
|
@ -263,7 +263,7 @@ bool D3D12RenderTargetCache::Initialize() {
|
|||
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS);
|
||||
// The first operation will likely be depth self-comparison with host render
|
||||
// targets or drawing with ROV.
|
||||
edram_buffer_state_ = D3D12_RESOURCE_STATE_UNORDERED_ACCESS;
|
||||
edram_buffer_state_ = D3D12_RESOURCE_STATE_COMMON;
|
||||
// Creating zeroed for stable initial value with ROV (though on a real
|
||||
// console it has to be cleared anyway probably) and not to leak irrelevant
|
||||
// data to trace dumps when not covered by host render targets entirely.
|
||||
|
|
|
@ -1490,8 +1490,7 @@ bool D3D12TextureCache::LoadTextureDataFromResidentMemoryImpl(Texture& texture,
|
|||
level_host_slice_size;
|
||||
copy_buffer_size += level_host_slice_size * array_size;
|
||||
}
|
||||
D3D12_RESOURCE_STATES copy_buffer_state =
|
||||
D3D12_RESOURCE_STATE_UNORDERED_ACCESS;
|
||||
D3D12_RESOURCE_STATES copy_buffer_state = D3D12_RESOURCE_STATE_COMMON;
|
||||
ID3D12Resource* copy_buffer = command_processor_.RequestScratchGPUBuffer(
|
||||
uint32_t(copy_buffer_size), copy_buffer_state);
|
||||
if (copy_buffer == nullptr) {
|
||||
|
@ -1687,7 +1686,7 @@ bool D3D12TextureCache::LoadTextureDataFromResidentMemoryImpl(Texture& texture,
|
|||
}
|
||||
std::memcpy(cbuffer_mapping, &load_constants, sizeof(load_constants));
|
||||
command_list.D3DSetComputeRootConstantBufferView(0, cbuffer_gpu_address);
|
||||
assert_true(copy_buffer_state == D3D12_RESOURCE_STATE_UNORDERED_ACCESS);
|
||||
assert_true(copy_buffer_state == D3D12_RESOURCE_STATE_COMMON);
|
||||
command_processor_.SubmitBarriers();
|
||||
command_list.D3DDispatch(group_count_x, group_count_y,
|
||||
load_constants.size_blocks[2]);
|
||||
|
|
Loading…
Reference in New Issue