mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-08-26 04:06:32 +00:00
Reformat all the things!
This commit is contained in:
parent
d27e85e9d7
commit
40bb9974f2
179 changed files with 1888 additions and 991 deletions
|
@ -35,8 +35,7 @@ namespace DX11
|
|||
#define CHECK(cond, Message, ...) \
|
||||
if (!(cond)) \
|
||||
{ \
|
||||
PanicAlert("%s failed in %s at line %d: " Message, __func__, __FILE__, __LINE__, \
|
||||
__VA_ARGS__); \
|
||||
PanicAlert("%s failed in %s at line %d: " Message, __func__, __FILE__, __LINE__, __VA_ARGS__); \
|
||||
}
|
||||
|
||||
class D3DTexture2D;
|
||||
|
|
|
@ -89,6 +89,7 @@ public:
|
|||
void EndAppendData() { context->Unmap(buf, 0); }
|
||||
void AddWrapObserver(bool* observer) { observers.push_back(observer); }
|
||||
inline ID3D11Buffer*& GetBuffer() { return buf; }
|
||||
|
||||
private:
|
||||
ID3D11Buffer* buf = nullptr;
|
||||
unsigned int offset = 0;
|
||||
|
@ -645,7 +646,10 @@ void drawShadedTexQuad(ID3D11ShaderResourceView* texture, const D3D11_RECT* rSou
|
|||
void drawColorQuad(u32 Color, float z, float x1, float y1, float x2, float y2)
|
||||
{
|
||||
ColVertex coords[4] = {
|
||||
{x1, y1, z, Color}, {x2, y1, z, Color}, {x1, y2, z, Color}, {x2, y2, z, Color},
|
||||
{x1, y1, z, Color},
|
||||
{x2, y1, z, Color},
|
||||
{x1, y2, z, Color},
|
||||
{x2, y2, z, Color},
|
||||
};
|
||||
|
||||
if (cq_observer || draw_quad_data.x1 != x1 || draw_quad_data.y1 != y1 ||
|
||||
|
|
|
@ -23,19 +23,47 @@ VertexManager::CreateNativeVertexFormat(const PortableVertexDeclaration& vtx_dec
|
|||
|
||||
static const DXGI_FORMAT d3d_format_lookup[5 * 4 * 2] = {
|
||||
// float formats
|
||||
DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_R16_SNORM,
|
||||
DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_SNORM, DXGI_FORMAT_R16G16_UNORM,
|
||||
DXGI_FORMAT_R16G16_SNORM, DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_R32G32B32_FLOAT,
|
||||
DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_R16G16B16A16_UNORM,
|
||||
DXGI_FORMAT_R16G16B16A16_SNORM, DXGI_FORMAT_R32G32B32A32_FLOAT,
|
||||
DXGI_FORMAT_R8_UNORM,
|
||||
DXGI_FORMAT_R8_SNORM,
|
||||
DXGI_FORMAT_R16_UNORM,
|
||||
DXGI_FORMAT_R16_SNORM,
|
||||
DXGI_FORMAT_R32_FLOAT,
|
||||
DXGI_FORMAT_R8G8_UNORM,
|
||||
DXGI_FORMAT_R8G8_SNORM,
|
||||
DXGI_FORMAT_R16G16_UNORM,
|
||||
DXGI_FORMAT_R16G16_SNORM,
|
||||
DXGI_FORMAT_R32G32_FLOAT,
|
||||
DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_R32G32B32_FLOAT,
|
||||
DXGI_FORMAT_R8G8B8A8_UNORM,
|
||||
DXGI_FORMAT_R8G8B8A8_SNORM,
|
||||
DXGI_FORMAT_R16G16B16A16_UNORM,
|
||||
DXGI_FORMAT_R16G16B16A16_SNORM,
|
||||
DXGI_FORMAT_R32G32B32A32_FLOAT,
|
||||
|
||||
// integer formats
|
||||
DXGI_FORMAT_R8_UINT, DXGI_FORMAT_R8_SINT, DXGI_FORMAT_R16_UINT, DXGI_FORMAT_R16_SINT,
|
||||
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_R8G8_UINT, DXGI_FORMAT_R8G8_SINT, DXGI_FORMAT_R16G16_UINT,
|
||||
DXGI_FORMAT_R16G16_SINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_R8G8B8A8_UINT,
|
||||
DXGI_FORMAT_R8G8B8A8_SINT, DXGI_FORMAT_R16G16B16A16_UINT, DXGI_FORMAT_R16G16B16A16_SINT,
|
||||
DXGI_FORMAT_R8_UINT,
|
||||
DXGI_FORMAT_R8_SINT,
|
||||
DXGI_FORMAT_R16_UINT,
|
||||
DXGI_FORMAT_R16_SINT,
|
||||
DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_R8G8_UINT,
|
||||
DXGI_FORMAT_R8G8_SINT,
|
||||
DXGI_FORMAT_R16G16_UINT,
|
||||
DXGI_FORMAT_R16G16_SINT,
|
||||
DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_UNKNOWN,
|
||||
DXGI_FORMAT_R8G8B8A8_UINT,
|
||||
DXGI_FORMAT_R8G8B8A8_SINT,
|
||||
DXGI_FORMAT_R16G16B16A16_UINT,
|
||||
DXGI_FORMAT_R16G16B16A16_SINT,
|
||||
DXGI_FORMAT_UNKNOWN,
|
||||
};
|
||||
|
||||
|
|
|
@ -48,6 +48,7 @@ public:
|
|||
protected:
|
||||
void ResetBuffer(u32 stride) override;
|
||||
u16* GetIndexBuffer() { return &LocalIBuffer[0]; }
|
||||
|
||||
private:
|
||||
void PrepareDrawBuffers(u32 stride);
|
||||
void Draw(u32 stride);
|
||||
|
|
|
@ -263,11 +263,13 @@ FramebufferManager::FramebufferManager(int targetWidth, int targetHeight, int ms
|
|||
"vec4 sampleEFB(ivec3 pos) {\n"
|
||||
" vec4 color = vec4(0.0, 0.0, 0.0, 0.0);\n"
|
||||
" for(int i=0; i<" +
|
||||
samples.str() + "; i++)\n"
|
||||
" color += texelFetch(samp9, pos, i);\n"
|
||||
" return color / " +
|
||||
samples.str() + ";\n"
|
||||
"}\n";
|
||||
samples.str() +
|
||||
"; i++)\n"
|
||||
" color += texelFetch(samp9, pos, i);\n"
|
||||
" return color / " +
|
||||
samples.str() +
|
||||
";\n"
|
||||
"}\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -275,11 +277,13 @@ FramebufferManager::FramebufferManager(int targetWidth, int targetHeight, int ms
|
|||
"vec4 sampleEFB(ivec3 pos) {\n"
|
||||
" vec4 color = vec4(0.0, 0.0, 0.0, 0.0);\n"
|
||||
" for(int i=0; i<" +
|
||||
samples.str() + "; i++)\n"
|
||||
" color += texelFetch(samp9, pos.xy, i);\n"
|
||||
" return color / " +
|
||||
samples.str() + ";\n"
|
||||
"}\n";
|
||||
samples.str() +
|
||||
"; i++)\n"
|
||||
" color += texelFetch(samp9, pos.xy, i);\n"
|
||||
" return color / " +
|
||||
samples.str() +
|
||||
";\n"
|
||||
"}\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -316,21 +320,23 @@ FramebufferManager::FramebufferManager(int targetWidth, int targetHeight, int ms
|
|||
layers << m_EFBLayers;
|
||||
std::string gs = "layout(triangles) in;\n"
|
||||
"layout(triangle_strip, max_vertices = " +
|
||||
vertices.str() + ") out;\n"
|
||||
"flat out int layer;\n"
|
||||
"void main()\n"
|
||||
"{\n"
|
||||
" for (int j = 0; j < " +
|
||||
layers.str() + "; ++j) {\n"
|
||||
" for (int i = 0; i < 3; ++i) {\n"
|
||||
" layer = j;\n"
|
||||
" gl_Layer = j;\n"
|
||||
" gl_Position = gl_in[i].gl_Position;\n"
|
||||
" EmitVertex();\n"
|
||||
" }\n"
|
||||
" EndPrimitive();\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
vertices.str() +
|
||||
") out;\n"
|
||||
"flat out int layer;\n"
|
||||
"void main()\n"
|
||||
"{\n"
|
||||
" for (int j = 0; j < " +
|
||||
layers.str() +
|
||||
"; ++j) {\n"
|
||||
" for (int i = 0; i < 3; ++i) {\n"
|
||||
" layer = j;\n"
|
||||
" gl_Layer = j;\n"
|
||||
" gl_Position = gl_in[i].gl_Position;\n"
|
||||
" EmitVertex();\n"
|
||||
" }\n"
|
||||
" EndPrimitive();\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
|
||||
ProgramShaderCache::CompileShader(m_pixel_format_shaders[0], vs, ps_rgb8_to_rgba6,
|
||||
(m_EFBLayers > 1) ? gs : "");
|
||||
|
|
|
@ -1302,24 +1302,24 @@ void Renderer::ApplyBlendingState(const BlendingState state, bool force)
|
|||
}
|
||||
else
|
||||
{
|
||||
const GLenum src_factors[8] = {
|
||||
GL_ZERO,
|
||||
GL_ONE,
|
||||
GL_DST_COLOR,
|
||||
GL_ONE_MINUS_DST_COLOR,
|
||||
useDualSource ? GL_SRC1_ALPHA : (GLenum)GL_SRC_ALPHA,
|
||||
useDualSource ? GL_ONE_MINUS_SRC1_ALPHA : (GLenum)GL_ONE_MINUS_SRC_ALPHA,
|
||||
GL_DST_ALPHA,
|
||||
GL_ONE_MINUS_DST_ALPHA};
|
||||
const GLenum dst_factors[8] = {
|
||||
GL_ZERO,
|
||||
GL_ONE,
|
||||
GL_SRC_COLOR,
|
||||
GL_ONE_MINUS_SRC_COLOR,
|
||||
useDualSource ? GL_SRC1_ALPHA : (GLenum)GL_SRC_ALPHA,
|
||||
useDualSource ? GL_ONE_MINUS_SRC1_ALPHA : (GLenum)GL_ONE_MINUS_SRC_ALPHA,
|
||||
GL_DST_ALPHA,
|
||||
GL_ONE_MINUS_DST_ALPHA};
|
||||
const GLenum src_factors[8] = {GL_ZERO,
|
||||
GL_ONE,
|
||||
GL_DST_COLOR,
|
||||
GL_ONE_MINUS_DST_COLOR,
|
||||
useDualSource ? GL_SRC1_ALPHA : (GLenum)GL_SRC_ALPHA,
|
||||
useDualSource ? GL_ONE_MINUS_SRC1_ALPHA :
|
||||
(GLenum)GL_ONE_MINUS_SRC_ALPHA,
|
||||
GL_DST_ALPHA,
|
||||
GL_ONE_MINUS_DST_ALPHA};
|
||||
const GLenum dst_factors[8] = {GL_ZERO,
|
||||
GL_ONE,
|
||||
GL_SRC_COLOR,
|
||||
GL_ONE_MINUS_SRC_COLOR,
|
||||
useDualSource ? GL_SRC1_ALPHA : (GLenum)GL_SRC_ALPHA,
|
||||
useDualSource ? GL_ONE_MINUS_SRC1_ALPHA :
|
||||
(GLenum)GL_ONE_MINUS_SRC_ALPHA,
|
||||
GL_DST_ALPHA,
|
||||
GL_ONE_MINUS_DST_ALPHA};
|
||||
|
||||
if (state.blendenable)
|
||||
{
|
||||
|
|
|
@ -226,11 +226,13 @@ public:
|
|||
// COHERENT_BIT is set so we don't have to use a MemoryBarrier on write
|
||||
// CLIENT_STORAGE_BIT is set since we access the buffer more frequently on the client side then
|
||||
// server side
|
||||
glBufferStorage(m_buffertype, m_size, nullptr, GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT |
|
||||
(coherent ? GL_MAP_COHERENT_BIT : 0));
|
||||
m_pointer = (u8*)glMapBufferRange(
|
||||
m_buffertype, 0, m_size, GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT |
|
||||
(coherent ? GL_MAP_COHERENT_BIT : GL_MAP_FLUSH_EXPLICIT_BIT));
|
||||
glBufferStorage(m_buffertype, m_size, nullptr,
|
||||
GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT |
|
||||
(coherent ? GL_MAP_COHERENT_BIT : 0));
|
||||
m_pointer =
|
||||
(u8*)glMapBufferRange(m_buffertype, 0, m_size,
|
||||
GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT |
|
||||
(coherent ? GL_MAP_COHERENT_BIT : GL_MAP_FLUSH_EXPLICIT_BIT));
|
||||
}
|
||||
|
||||
~BufferStorage()
|
||||
|
|
|
@ -776,9 +776,9 @@ void Tev::Draw()
|
|||
// Based on that, choose the index such that points which are far away from the z-axis use the
|
||||
// 10th "k" value and such that central points use the first value.
|
||||
float floatindex = 9.f - std::abs(offset) * 9.f;
|
||||
floatindex = (floatindex < 0.f) ? 0.f : (floatindex > 9.f) ?
|
||||
9.f :
|
||||
floatindex; // TODO: This shouldn't be necessary!
|
||||
floatindex = (floatindex < 0.f) ?
|
||||
0.f :
|
||||
(floatindex > 9.f) ? 9.f : floatindex; // TODO: This shouldn't be necessary!
|
||||
|
||||
// Get the two closest integer indices, look up the corresponding samples
|
||||
const int indexlower = (int)floor(floatindex);
|
||||
|
|
|
@ -1216,7 +1216,7 @@ static void EncodeZ24(u8* dst, const u8* src, EFBCopyFormat format)
|
|||
ENCODE_LOOP_SPANS
|
||||
break;
|
||||
|
||||
// FIXME: handle RA8?
|
||||
// FIXME: handle RA8?
|
||||
|
||||
case EFBCopyFormat::RGBA8:
|
||||
SetBlockDimensions(2, 2, &sBlkCount, &tBlkCount, &sBlkSize, &tBlkSize);
|
||||
|
@ -1326,7 +1326,7 @@ static void EncodeZ24halfscale(u8* dst, const u8* src, EFBCopyFormat format)
|
|||
ENCODE_LOOP_SPANS
|
||||
break;
|
||||
|
||||
// FIXME: handle RA8?
|
||||
// FIXME: handle RA8?
|
||||
|
||||
case EFBCopyFormat::RGBA8:
|
||||
SetBlockDimensions(2, 2, &sBlkCount, &tBlkCount, &sBlkSize, &tBlkSize);
|
||||
|
|
|
@ -228,7 +228,8 @@ bool FramebufferManager::CreateEFBFramebuffer()
|
|||
}
|
||||
|
||||
VkImageView framebuffer_attachments[] = {
|
||||
m_efb_color_texture->GetView(), m_efb_depth_texture->GetView(),
|
||||
m_efb_color_texture->GetView(),
|
||||
m_efb_depth_texture->GetView(),
|
||||
};
|
||||
|
||||
VkFramebufferCreateInfo framebuffer_info = {VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,
|
||||
|
|
|
@ -52,8 +52,9 @@ bool PerfQuery::Initialize()
|
|||
}
|
||||
|
||||
g_command_buffer_mgr->AddFencePointCallback(
|
||||
this, std::bind(&PerfQuery::OnCommandBufferQueued, this, std::placeholders::_1,
|
||||
std::placeholders::_2),
|
||||
this,
|
||||
std::bind(&PerfQuery::OnCommandBufferQueued, this, std::placeholders::_1,
|
||||
std::placeholders::_2),
|
||||
std::bind(&PerfQuery::OnCommandBufferExecuted, this, std::placeholders::_1));
|
||||
|
||||
return true;
|
||||
|
|
|
@ -116,6 +116,7 @@ public:
|
|||
VkShaderModule GetPassthroughVertexShader() const { return m_passthrough_vertex_shader; }
|
||||
VkShaderModule GetScreenQuadGeometryShader() const { return m_screen_quad_geometry_shader; }
|
||||
VkShaderModule GetPassthroughGeometryShader() const { return m_passthrough_geometry_shader; }
|
||||
|
||||
private:
|
||||
bool CreatePipelineCache();
|
||||
bool LoadPipelineCache();
|
||||
|
|
|
@ -365,7 +365,8 @@ const TBuiltInResource* GetCompilerResourceLimits()
|
|||
/* .MaxCullDistances = */ 8,
|
||||
/* .MaxCombinedClipAndCullDistances = */ 8,
|
||||
/* .MaxSamples = */ 4,
|
||||
/* .limits = */ {
|
||||
/* .limits = */
|
||||
{
|
||||
/* .nonInductiveForLoops = */ 1,
|
||||
/* .whileLoops = */ 1,
|
||||
/* .doWhileLoops = */ 1,
|
||||
|
|
|
@ -22,8 +22,9 @@ StreamBuffer::StreamBuffer(VkBufferUsageFlags usage, size_t max_size)
|
|||
{
|
||||
// Add a callback that fires on fence point creation and signal
|
||||
g_command_buffer_mgr->AddFencePointCallback(
|
||||
this, std::bind(&StreamBuffer::OnCommandBufferQueued, this, std::placeholders::_1,
|
||||
std::placeholders::_2),
|
||||
this,
|
||||
std::bind(&StreamBuffer::OnCommandBufferQueued, this, std::placeholders::_1,
|
||||
std::placeholders::_2),
|
||||
std::bind(&StreamBuffer::OnCommandBufferExecuted, this, std::placeholders::_1));
|
||||
}
|
||||
|
||||
|
|
|
@ -244,8 +244,9 @@ void TextureConverter::EncodeTextureToMemory(VkImageView src_texture, u8* dest_p
|
|||
// complex down filtering to average all pixels and produce the correct result.
|
||||
bool linear_filter =
|
||||
(scale_by_half && !params.depth) || g_renderer->GetEFBScale() != 1 || params.y_scale > 1.0f;
|
||||
draw.SetPSSampler(0, src_texture, linear_filter ? g_object_cache->GetLinearSampler() :
|
||||
g_object_cache->GetPointSampler());
|
||||
draw.SetPSSampler(0, src_texture,
|
||||
linear_filter ? g_object_cache->GetLinearSampler() :
|
||||
g_object_cache->GetPointSampler());
|
||||
|
||||
u32 render_width = bytes_per_row / sizeof(u32);
|
||||
u32 render_height = num_blocks_y;
|
||||
|
|
|
@ -585,12 +585,18 @@ void UtilityShaderDraw::BindDescriptors()
|
|||
if (set == VK_NULL_HANDLE)
|
||||
PanicAlert("Failed to allocate descriptor set for utility draw");
|
||||
|
||||
set_writes[num_set_writes++] = {
|
||||
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, nullptr, set, UBO_DESCRIPTOR_SET_BINDING_VS, 0, 1,
|
||||
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, nullptr,
|
||||
(m_vs_uniform_buffer.buffer != VK_NULL_HANDLE) ? &m_vs_uniform_buffer :
|
||||
&dummy_uniform_buffer,
|
||||
nullptr};
|
||||
set_writes[num_set_writes++] = {VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
|
||||
nullptr,
|
||||
set,
|
||||
UBO_DESCRIPTOR_SET_BINDING_VS,
|
||||
0,
|
||||
1,
|
||||
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
|
||||
nullptr,
|
||||
(m_vs_uniform_buffer.buffer != VK_NULL_HANDLE) ?
|
||||
&m_vs_uniform_buffer :
|
||||
&dummy_uniform_buffer,
|
||||
nullptr};
|
||||
|
||||
if (g_vulkan_context->SupportsGeometryShaders())
|
||||
{
|
||||
|
@ -606,12 +612,18 @@ void UtilityShaderDraw::BindDescriptors()
|
|||
nullptr};
|
||||
}
|
||||
|
||||
set_writes[num_set_writes++] = {
|
||||
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, nullptr, set, UBO_DESCRIPTOR_SET_BINDING_PS, 0, 1,
|
||||
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, nullptr,
|
||||
(m_ps_uniform_buffer.buffer != VK_NULL_HANDLE) ? &m_ps_uniform_buffer :
|
||||
&dummy_uniform_buffer,
|
||||
nullptr};
|
||||
set_writes[num_set_writes++] = {VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
|
||||
nullptr,
|
||||
set,
|
||||
UBO_DESCRIPTOR_SET_BINDING_PS,
|
||||
0,
|
||||
1,
|
||||
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
|
||||
nullptr,
|
||||
(m_ps_uniform_buffer.buffer != VK_NULL_HANDLE) ?
|
||||
&m_ps_uniform_buffer :
|
||||
&dummy_uniform_buffer,
|
||||
nullptr};
|
||||
|
||||
bind_descriptor_sets[DESCRIPTOR_SET_BIND_POINT_UNIFORM_BUFFERS] = set;
|
||||
}
|
||||
|
|
|
@ -131,12 +131,14 @@ void VKTexture::CopyRectangleFromTexture(const AbstractTexture* src,
|
|||
{
|
||||
Texture2D* src_texture = static_cast<const VKTexture*>(src)->GetRawTexIdentifier();
|
||||
|
||||
ASSERT_MSG(VIDEO, static_cast<u32>(src_rect.GetWidth()) <= src_texture->GetWidth() &&
|
||||
static_cast<u32>(src_rect.GetHeight()) <= src_texture->GetHeight(),
|
||||
ASSERT_MSG(VIDEO,
|
||||
static_cast<u32>(src_rect.GetWidth()) <= src_texture->GetWidth() &&
|
||||
static_cast<u32>(src_rect.GetHeight()) <= src_texture->GetHeight(),
|
||||
"Source rect is too large for CopyRectangleFromTexture");
|
||||
|
||||
ASSERT_MSG(VIDEO, static_cast<u32>(dst_rect.GetWidth()) <= m_config.width &&
|
||||
static_cast<u32>(dst_rect.GetHeight()) <= m_config.height,
|
||||
ASSERT_MSG(VIDEO,
|
||||
static_cast<u32>(dst_rect.GetWidth()) <= m_config.width &&
|
||||
static_cast<u32>(dst_rect.GetHeight()) <= m_config.height,
|
||||
"Dest rect is too large for CopyRectangleFromTexture");
|
||||
|
||||
VkImageCopy image_copy = {
|
||||
|
|
|
@ -552,7 +552,8 @@ bool VulkanContext::CreateDevice(VkSurfaceKHR surface, bool enable_validation_la
|
|||
present_queue_info.pQueuePriorities = queue_priorities;
|
||||
|
||||
std::array<VkDeviceQueueCreateInfo, 2> queue_infos = {{
|
||||
graphics_queue_info, present_queue_info,
|
||||
graphics_queue_info,
|
||||
present_queue_info,
|
||||
}};
|
||||
|
||||
device_info.queueCreateInfoCount = 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue