Browse Source

Fix Xbox builds

Daniel Ludwig 11 months ago
parent
commit
e98cf3c870
2 changed files with 8 additions and 6 deletions
  1. 6 4
      src/gpu/d3d12/SDL_gpu_d3d12.c
  2. 2 2
      src/stdlib/SDL_getenv.c

+ 6 - 4
src/gpu/d3d12/SDL_gpu_d3d12.c

@@ -921,8 +921,9 @@ static ID3D12CommandQueue *s_CommandQueue;
 #endif
 #endif
 
 
 #if defined(SDL_PLATFORM_XBOXONE)
 #if defined(SDL_PLATFORM_XBOXONE)
-// This is not defined in d3d12_x.h.
+// These are not defined in d3d12_x.h.
 typedef HRESULT (D3DAPI* PFN_D3D12_XBOX_CREATE_DEVICE)(_In_opt_ IGraphicsUnknown*, _In_ const D3D12XBOX_CREATE_DEVICE_PARAMETERS*, _In_ REFIID, _Outptr_opt_ void**);
 typedef HRESULT (D3DAPI* PFN_D3D12_XBOX_CREATE_DEVICE)(_In_opt_ IGraphicsUnknown*, _In_ const D3D12XBOX_CREATE_DEVICE_PARAMETERS*, _In_ REFIID, _Outptr_opt_ void**);
+#define D3D12_STANDARD_MULTISAMPLE_PATTERN DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN
 #endif
 #endif
 
 
 // Logging
 // Logging
@@ -6094,6 +6095,7 @@ static bool D3D12_INTERNAL_CreateSwapchain(
             renderer->blitFrom2DArrayShader,
             renderer->blitFrom2DArrayShader,
             renderer->blitFrom3DShader,
             renderer->blitFrom3DShader,
             renderer->blitFromCubeShader,
             renderer->blitFromCubeShader,
+            renderer->blitFromCubeArrayShader,
             &renderer->blitPipelines,
             &renderer->blitPipelines,
             &renderer->blitPipelineCount,
             &renderer->blitPipelineCount,
             &renderer->blitPipelineCapacity);
             &renderer->blitPipelineCapacity);
@@ -8117,7 +8119,7 @@ static SDL_GPUDevice *D3D12_CreateDevice(bool debugMode, bool preferLowPower, SD
             IID_GRAPHICS_PPV_ARGS(&renderer->device));
             IID_GRAPHICS_PPV_ARGS(&renderer->device));
         if (FAILED(res)) {
         if (FAILED(res)) {
             D3D12_INTERNAL_DestroyRenderer(renderer);
             D3D12_INTERNAL_DestroyRenderer(renderer);
-            ERROR_CHECK_RETURN("Could not create D3D12Device", NULL);
+            CHECK_D3D12_ERROR_AND_RETURN("Could not create D3D12Device", NULL);
         }
         }
 
 
         res = renderer->device->SetFrameIntervalX(
         res = renderer->device->SetFrameIntervalX(
@@ -8127,7 +8129,7 @@ static SDL_GPUDevice *D3D12_CreateDevice(bool debugMode, bool preferLowPower, SD
             D3D12XBOX_FRAME_INTERVAL_FLAG_NONE);
             D3D12XBOX_FRAME_INTERVAL_FLAG_NONE);
         if (FAILED(res)) {
         if (FAILED(res)) {
             D3D12_INTERNAL_DestroyRenderer(renderer);
             D3D12_INTERNAL_DestroyRenderer(renderer);
-            ERROR_CHECK_RETURN("Could not get set frame interval", NULL);
+            CHECK_D3D12_ERROR_AND_RETURN("Could not get set frame interval", NULL);
         }
         }
 
 
         res = renderer->device->ScheduleFrameEventX(
         res = renderer->device->ScheduleFrameEventX(
@@ -8137,7 +8139,7 @@ static SDL_GPUDevice *D3D12_CreateDevice(bool debugMode, bool preferLowPower, SD
             D3D12XBOX_SCHEDULE_FRAME_EVENT_FLAG_NONE);
             D3D12XBOX_SCHEDULE_FRAME_EVENT_FLAG_NONE);
         if (FAILED(res)) {
         if (FAILED(res)) {
             D3D12_INTERNAL_DestroyRenderer(renderer);
             D3D12_INTERNAL_DestroyRenderer(renderer);
-            ERROR_CHECK_RETURN("Could not schedule frame events", NULL);
+            CHECK_D3D12_ERROR_AND_RETURN("Could not schedule frame events", NULL);
         }
         }
 
 
         s_Device = renderer->device;
         s_Device = renderer->device;

+ 2 - 2
src/stdlib/SDL_getenv.c

@@ -23,7 +23,7 @@
 #include "../SDL_hashtable.h"
 #include "../SDL_hashtable.h"
 #include "SDL_getenv_c.h"
 #include "SDL_getenv_c.h"
 
 
-#if defined(SDL_PLATFORM_WIN32) || defined(SDL_PLATFORM_WINGDK)
+#if defined(SDL_PLATFORM_WINDOWS)
 #include "../core/windows/SDL_windows.h"
 #include "../core/windows/SDL_windows.h"
 #endif
 #endif
 
 
@@ -31,7 +31,7 @@
 #include "../core/android/SDL_android.h"
 #include "../core/android/SDL_android.h"
 #endif
 #endif
 
 
-#if defined(SDL_PLATFORM_WIN32) || defined(SDL_PLATFORM_WINGDK)
+#if defined(SDL_PLATFORM_WINDOWS)
 #define HAVE_WIN32_ENVIRONMENT
 #define HAVE_WIN32_ENVIRONMENT
 #elif defined(HAVE_GETENV) && \
 #elif defined(HAVE_GETENV) && \
       (defined(HAVE_SETENV) || defined(HAVE_PUTENV)) && \
       (defined(HAVE_SETENV) || defined(HAVE_PUTENV)) && \