Kernel: VdSwap takes a texture format, not color format argument
This commit is contained in:
parent
8d016a3c14
commit
e9e23c02a2
|
@ -12,6 +12,7 @@
|
||||||
#include "xenia/base/logging.h"
|
#include "xenia/base/logging.h"
|
||||||
#include "xenia/emulator.h"
|
#include "xenia/emulator.h"
|
||||||
#include "xenia/gpu/graphics_system.h"
|
#include "xenia/gpu/graphics_system.h"
|
||||||
|
#include "xenia/gpu/texture_info.h"
|
||||||
#include "xenia/gpu/xenos.h"
|
#include "xenia/gpu/xenos.h"
|
||||||
#include "xenia/kernel/kernel_state.h"
|
#include "xenia/kernel/kernel_state.h"
|
||||||
#include "xenia/kernel/util/shim_utils.h"
|
#include "xenia/kernel/util/shim_utils.h"
|
||||||
|
@ -332,13 +333,13 @@ void VdSwap(lpvoid_t buffer_ptr, // ptr into primary ringbuffer
|
||||||
lpunknown_t unk3, // buffer from VdGetSystemCommandBuffer
|
lpunknown_t unk3, // buffer from VdGetSystemCommandBuffer
|
||||||
lpunknown_t unk4, // from VdGetSystemCommandBuffer (0xBEEF0001)
|
lpunknown_t unk4, // from VdGetSystemCommandBuffer (0xBEEF0001)
|
||||||
lpdword_t frontbuffer_ptr, // ptr to frontbuffer address
|
lpdword_t frontbuffer_ptr, // ptr to frontbuffer address
|
||||||
lpdword_t color_format_ptr, lpdword_t color_space_ptr,
|
lpdword_t texture_format_ptr, lpdword_t color_space_ptr,
|
||||||
lpdword_t width, lpdword_t height) {
|
lpdword_t width, lpdword_t height) {
|
||||||
// All of these parameters are REQUIRED.
|
// All of these parameters are REQUIRED.
|
||||||
assert(buffer_ptr);
|
assert(buffer_ptr);
|
||||||
assert(fetch_ptr);
|
assert(fetch_ptr);
|
||||||
assert(frontbuffer_ptr);
|
assert(frontbuffer_ptr);
|
||||||
assert(color_format_ptr);
|
assert(texture_format_ptr);
|
||||||
assert(width);
|
assert(width);
|
||||||
assert(height);
|
assert(height);
|
||||||
|
|
||||||
|
@ -348,10 +349,11 @@ void VdSwap(lpvoid_t buffer_ptr, // ptr into primary ringbuffer
|
||||||
xe::copy_and_swap_32_unaligned(
|
xe::copy_and_swap_32_unaligned(
|
||||||
&fetch, reinterpret_cast<uint32_t*>(fetch_ptr.host_address()), 6);
|
&fetch, reinterpret_cast<uint32_t*>(fetch_ptr.host_address()), 6);
|
||||||
|
|
||||||
auto color_format = gpu::ColorFormat(color_format_ptr.value());
|
auto texture_format = gpu::TextureFormat(texture_format_ptr.value());
|
||||||
auto color_space = *color_space_ptr;
|
auto color_space = *color_space_ptr;
|
||||||
assert_true(color_format == gpu::ColorFormat::k_8_8_8_8 ||
|
assert_true(texture_format == gpu::TextureFormat::k_8_8_8_8 ||
|
||||||
color_format == gpu::ColorFormat::kUnknown0x36);
|
texture_format ==
|
||||||
|
gpu::TextureFormat::k_2_10_10_10_AS_16_16_16_16);
|
||||||
assert_true(color_space == 0); // RGB(0)
|
assert_true(color_space == 0); // RGB(0)
|
||||||
assert_true(*frontbuffer_ptr == fetch.address << 12);
|
assert_true(*frontbuffer_ptr == fetch.address << 12);
|
||||||
assert_true(*width == 1 + fetch.size_2d.width);
|
assert_true(*width == 1 + fetch.size_2d.width);
|
||||||
|
|
Loading…
Reference in New Issue