ps5 and xbox fixes
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
@@ -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())
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user