ps5 and xbox fixes

This commit is contained in:
Turánszki János
2023-10-23 13:20:02 +02:00
parent 0c27382ce1
commit d3b0b1d509
4 changed files with 27 additions and 14 deletions
+5
View File
@@ -1,6 +1,11 @@
#include "globals.hlsli"
#include "ShaderInterop_Renderer.h"
#ifdef __PSSL__
// TODO: register spilling issue
#pragma warning (disable:7203)
#endif // __PSSL__
PUSHCONSTANT(push, FilterEnvmapPushConstants);
float D_GGX(float NdotH, float roughness)
+5
View File
@@ -1614,6 +1614,10 @@ using namespace dx12_internal;
void GraphicsDevice_DX12::CopyAllocator::init(GraphicsDevice_DX12* device)
{
this->device = device;
#ifdef PLATFORM_XBOX
queue = device->queues[QUEUE_COPY].queue;
#else
// On PC we can create secondary copy queue for background uploading tasks:
D3D12_COMMAND_QUEUE_DESC desc = {};
desc.Type = D3D12_COMMAND_LIST_TYPE_COPY;
desc.Priority = D3D12_COMMAND_QUEUE_PRIORITY_NORMAL;
@@ -1630,6 +1634,7 @@ using namespace dx12_internal;
}
hr = queue->SetName(L"CopyAllocator");
assert(SUCCEEDED(hr));
#endif // PLATFORM_XBOX
}
GraphicsDevice_DX12::CopyAllocator::CopyCMD GraphicsDevice_DX12::CopyAllocator::allocate(uint64_t staging_size)
{
+16 -13
View File
@@ -3587,19 +3587,22 @@ void UpdatePerFrameData(
frameCB.gi_boost = GetGIBoost();
frameCB.rain_blocker_mad_prev = frameCB.rain_blocker_mad;
frameCB.rain_blocker_matrix_prev = frameCB.rain_blocker_matrix;
frameCB.rain_blocker_matrix_inverse_prev = frameCB.rain_blocker_matrix_inverse;
frameCB.rain_blocker_mad = XMFLOAT4(
float(scene.rain_blocker_dummy_light.shadow_rect.w) / float(shadowMapAtlas.desc.width),
float(scene.rain_blocker_dummy_light.shadow_rect.h) / float(shadowMapAtlas.desc.height),
float(scene.rain_blocker_dummy_light.shadow_rect.x) / float(shadowMapAtlas.desc.width),
float(scene.rain_blocker_dummy_light.shadow_rect.y) / float(shadowMapAtlas.desc.height)
);
SHCAM shcam;
CreateDirLightShadowCams(vis.scene->rain_blocker_dummy_light, *vis.camera, &shcam, 1);
XMStoreFloat4x4(&frameCB.rain_blocker_matrix, shcam.view_projection);
XMStoreFloat4x4(&frameCB.rain_blocker_matrix_inverse, XMMatrixInverse(nullptr, shcam.view_projection));
if (scene.weather.rain_amount > 0)
{
frameCB.rain_blocker_mad_prev = frameCB.rain_blocker_mad;
frameCB.rain_blocker_matrix_prev = frameCB.rain_blocker_matrix;
frameCB.rain_blocker_matrix_inverse_prev = frameCB.rain_blocker_matrix_inverse;
frameCB.rain_blocker_mad = XMFLOAT4(
float(scene.rain_blocker_dummy_light.shadow_rect.w) / float(shadowMapAtlas.desc.width),
float(scene.rain_blocker_dummy_light.shadow_rect.h) / float(shadowMapAtlas.desc.height),
float(scene.rain_blocker_dummy_light.shadow_rect.x) / float(shadowMapAtlas.desc.width),
float(scene.rain_blocker_dummy_light.shadow_rect.y) / float(shadowMapAtlas.desc.height)
);
SHCAM shcam;
CreateDirLightShadowCams(vis.scene->rain_blocker_dummy_light, *vis.camera, &shcam, 1);
XMStoreFloat4x4(&frameCB.rain_blocker_matrix, shcam.view_projection);
XMStoreFloat4x4(&frameCB.rain_blocker_matrix_inverse, XMMatrixInverse(nullptr, shcam.view_projection));
}
frameCB.temporalaa_samplerotation = 0;
if (GetTemporalAAEnabled())
+1 -1
View File
@@ -9,7 +9,7 @@ namespace wi::version
// minor features, major updates, breaking compatibility changes
const int minor = 71;
// minor bug fixes, alterations, refactors, updates
const int revision = 323;
const int revision = 324;
const std::string version_string = std::to_string(major) + "." + std::to_string(minor) + "." + std::to_string(revision);