mirror of
https://github.com/libretro/RetroArch
synced 2025-02-20 15:40:44 +00:00
Update MSVC 2012 solution
This commit is contained in:
parent
12539f310d
commit
a1d5b0fd03
@ -804,6 +804,7 @@ RETRO_END_DECLS
|
||||
|
||||
#ifndef PERF_START
|
||||
#define PERF_START() \
|
||||
{ \
|
||||
static struct retro_perf_counter perfcounter = { __FUNCTION__ }; \
|
||||
LARGE_INTEGER start, stop; \
|
||||
rarch_perf_register(&perfcounter); \
|
||||
@ -812,7 +813,8 @@ RETRO_END_DECLS
|
||||
|
||||
#define PERF_STOP() \
|
||||
QueryPerformanceCounter(&stop); \
|
||||
perfcounter.total += stop.QuadPart - start.QuadPart
|
||||
perfcounter.total += stop.QuadPart - start.QuadPart; \
|
||||
}
|
||||
#endif
|
||||
#else
|
||||
#define PERF_START()
|
||||
|
@ -1969,11 +1969,12 @@ static bool vulkan_create_display_surface(gfx_ctx_vulkan_data_t *vk,
|
||||
retry:
|
||||
for (dpy = 0; dpy < display_count; dpy++)
|
||||
{
|
||||
VkDisplayKHR display;
|
||||
if (monitor_index != 0 && (monitor_index - 1) != dpy)
|
||||
continue;
|
||||
|
||||
VkDisplayKHR display = displays[dpy].display;
|
||||
best_mode = VK_NULL_HANDLE;
|
||||
display = displays[dpy].display;
|
||||
best_mode = VK_NULL_HANDLE;
|
||||
best_plane = UINT32_MAX;
|
||||
|
||||
if (vkGetDisplayModePropertiesKHR(vk->context.gpu,
|
||||
|
@ -43,10 +43,10 @@ static void d3d10_free_overlays(d3d10_video_t* d3d10)
|
||||
Release(d3d10->overlays.vbo);
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
d3d10_overlay_vertex_geom(void* data, unsigned index, float x, float y, float w, float h)
|
||||
{
|
||||
d3d10_sprite_t* sprites = NULL;
|
||||
d3d10_sprite_t* sprites = NULL;
|
||||
d3d10_video_t* d3d10 = (d3d10_video_t*)data;
|
||||
|
||||
if (!d3d10)
|
||||
@ -54,16 +54,16 @@ d3d10_overlay_vertex_geom(void* data, unsigned index, float x, float y, float w,
|
||||
|
||||
D3D10MapBuffer(d3d10->overlays.vbo,
|
||||
D3D10_MAP_WRITE_NO_OVERWRITE, 0, (void**)&sprites);
|
||||
sprites[index].pos.x = x;
|
||||
sprites[index].pos.y = y;
|
||||
sprites[index].pos.w = w;
|
||||
sprites[index].pos.h = h;
|
||||
sprites[index].pos.x = x;
|
||||
sprites[index].pos.y = y;
|
||||
sprites[index].pos.w = w;
|
||||
sprites[index].pos.h = h;
|
||||
D3D10UnmapBuffer(d3d10->overlays.vbo);
|
||||
}
|
||||
|
||||
static void d3d10_overlay_tex_geom(void* data, unsigned index, float u, float v, float w, float h)
|
||||
{
|
||||
d3d10_sprite_t* sprites = NULL;
|
||||
d3d10_sprite_t* sprites = NULL;
|
||||
d3d10_video_t* d3d10 = (d3d10_video_t*)data;
|
||||
|
||||
if (!d3d10)
|
||||
@ -72,16 +72,16 @@ static void d3d10_overlay_tex_geom(void* data, unsigned index, float u, float v,
|
||||
D3D10MapBuffer(
|
||||
d3d10->overlays.vbo,
|
||||
D3D10_MAP_WRITE_NO_OVERWRITE, 0, (void**)&sprites);
|
||||
sprites[index].coords.u = u;
|
||||
sprites[index].coords.v = v;
|
||||
sprites[index].coords.w = w;
|
||||
sprites[index].coords.h = h;
|
||||
sprites[index].coords.u = u;
|
||||
sprites[index].coords.v = v;
|
||||
sprites[index].coords.w = w;
|
||||
sprites[index].coords.h = h;
|
||||
D3D10UnmapBuffer(d3d10->overlays.vbo);
|
||||
}
|
||||
|
||||
static void d3d10_overlay_set_alpha(void* data, unsigned index, float mod)
|
||||
{
|
||||
d3d10_sprite_t* sprites = NULL;
|
||||
d3d10_sprite_t* sprites = NULL;
|
||||
d3d10_video_t* d3d10 = (d3d10_video_t*)data;
|
||||
|
||||
if (!d3d10)
|
||||
@ -90,10 +90,10 @@ static void d3d10_overlay_set_alpha(void* data, unsigned index, float mod)
|
||||
D3D10MapBuffer(
|
||||
d3d10->overlays.vbo,
|
||||
D3D10_MAP_WRITE_NO_OVERWRITE, 0, (void**)&sprites);
|
||||
sprites[index].colors[0] = DXGI_COLOR_RGBA(0xFF, 0xFF, 0xFF, mod * 0xFF);
|
||||
sprites[index].colors[1] = sprites[index].colors[0];
|
||||
sprites[index].colors[2] = sprites[index].colors[0];
|
||||
sprites[index].colors[3] = sprites[index].colors[0];
|
||||
sprites[index].colors[0] = DXGI_COLOR_RGBA(0xFF, 0xFF, 0xFF, mod * 0xFF);
|
||||
sprites[index].colors[1] = sprites[index].colors[0];
|
||||
sprites[index].colors[2] = sprites[index].colors[0];
|
||||
sprites[index].colors[3] = sprites[index].colors[0];
|
||||
D3D10UnmapBuffer(d3d10->overlays.vbo);
|
||||
}
|
||||
|
||||
@ -213,7 +213,7 @@ static void d3d10_set_filtering(void* data, unsigned index, bool smooth)
|
||||
|
||||
static void d3d10_gfx_set_rotation(void* data, unsigned rotation)
|
||||
{
|
||||
math_matrix_4x4 rot;
|
||||
math_matrix_4x4 rot;
|
||||
void* mapped_ubo = NULL;
|
||||
d3d10_video_t* d3d10 = (d3d10_video_t*)data;
|
||||
|
||||
@ -242,7 +242,7 @@ static void d3d10_update_viewport(void* data, bool force_full)
|
||||
d3d10->frame.viewport.MaxDepth = 1.0f;
|
||||
|
||||
if (d3d10->shader_preset && (d3d10->frame.output_size.x != d3d10->vp.width ||
|
||||
d3d10->frame.output_size.y != d3d10->vp.height))
|
||||
d3d10->frame.output_size.y != d3d10->vp.height))
|
||||
d3d10->resize_render_targets = true;
|
||||
|
||||
d3d10->frame.output_size.x = d3d10->vp.width;
|
||||
@ -375,16 +375,16 @@ static bool d3d10_gfx_set_shader(void* data,
|
||||
/* clang-format on */
|
||||
|
||||
if (!slang_process(
|
||||
d3d10->shader_preset, i, RARCH_SHADER_HLSL, 40, &semantics_map,
|
||||
&d3d10->pass[i].semantics))
|
||||
d3d10->shader_preset, i, RARCH_SHADER_HLSL, 40, &semantics_map,
|
||||
&d3d10->pass[i].semantics))
|
||||
goto error;
|
||||
|
||||
{
|
||||
static const D3D10_INPUT_ELEMENT_DESC desc[] = {
|
||||
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, offsetof(d3d10_vertex_t, position),
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "TEXCOORD", 1, DXGI_FORMAT_R32G32_FLOAT, 0, offsetof(d3d10_vertex_t, texcoord),
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
};
|
||||
#ifdef DEBUG
|
||||
bool save_hlsl = true;
|
||||
@ -406,13 +406,13 @@ static bool d3d10_gfx_set_shader(void* data,
|
||||
strlcat(ps_path, ps_ext, sizeof(ps_path));
|
||||
|
||||
if (!d3d10_init_shader(
|
||||
d3d10->device, vs_src, 0, vs_path, "main", NULL, NULL, desc, countof(desc),
|
||||
&d3d10->pass[i].shader))
|
||||
d3d10->device, vs_src, 0, vs_path, "main", NULL, NULL, desc, countof(desc),
|
||||
&d3d10->pass[i].shader))
|
||||
save_hlsl = true;
|
||||
|
||||
if (!d3d10_init_shader(
|
||||
d3d10->device, ps_src, 0, ps_path, NULL, "main", NULL, NULL, 0,
|
||||
&d3d10->pass[i].shader))
|
||||
d3d10->device, ps_src, 0, ps_path, NULL, "main", NULL, NULL, 0,
|
||||
&d3d10->pass[i].shader))
|
||||
save_hlsl = true;
|
||||
|
||||
if (save_hlsl)
|
||||
@ -543,16 +543,16 @@ static void d3d10_gfx_free(void* data)
|
||||
font_driver_free_osd();
|
||||
|
||||
#if 0
|
||||
if (video_driver_is_video_cache_context())
|
||||
{
|
||||
if (video_driver_is_video_cache_context())
|
||||
{
|
||||
cached_device_d3d10 = d3d10->device;
|
||||
cached_context = d3d10->context;
|
||||
}
|
||||
else
|
||||
cached_context = d3d10->context;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
Release(d3d10->device);
|
||||
}
|
||||
{
|
||||
Release(d3d10->device);
|
||||
}
|
||||
|
||||
win32_monitor_from_window();
|
||||
win32_destroy_window();
|
||||
@ -590,7 +590,7 @@ d3d10_gfx_init(const video_info_t* video,
|
||||
d3d10->vp.full_height =
|
||||
current_mon.rcMonitor.bottom - current_mon.rcMonitor.top;
|
||||
|
||||
if (!win32_set_video_mode(d3d10,
|
||||
if (!win32_set_video_mode(d3d10,
|
||||
d3d10->vp.full_width, d3d10->vp.full_height, video->fullscreen))
|
||||
{
|
||||
RARCH_ERR("[D3D10]: win32_set_video_mode failed.\n");
|
||||
@ -613,9 +613,9 @@ d3d10_gfx_init(const video_info_t* video,
|
||||
desc.SampleDesc.Count = 1;
|
||||
desc.SampleDesc.Quality = 0;
|
||||
desc.Windowed = TRUE;
|
||||
desc.SwapEffect = DXGI_SWAP_EFFECT_SEQUENTIAL;
|
||||
desc.SwapEffect = DXGI_SWAP_EFFECT_SEQUENTIAL;
|
||||
#if 0
|
||||
desc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
|
||||
desc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
|
||||
desc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL;
|
||||
desc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD;
|
||||
#endif
|
||||
@ -625,9 +625,9 @@ d3d10_gfx_init(const video_info_t* video,
|
||||
#endif
|
||||
|
||||
if (FAILED(D3D10CreateDeviceAndSwapChain(
|
||||
NULL, D3D10_DRIVER_TYPE_HARDWARE,
|
||||
NULL, flags, D3D10_SDK_VERSION, &desc,
|
||||
(IDXGISwapChain**)&d3d10->swapChain, &d3d10->device)))
|
||||
NULL, D3D10_DRIVER_TYPE_HARDWARE,
|
||||
NULL, flags, D3D10_SDK_VERSION, &desc,
|
||||
(IDXGISwapChain**)&d3d10->swapChain, &d3d10->device)))
|
||||
goto error;
|
||||
}
|
||||
|
||||
@ -639,7 +639,7 @@ d3d10_gfx_init(const video_info_t* video,
|
||||
Release(backBuffer);
|
||||
}
|
||||
|
||||
D3D10SetRenderTargets(d3d10->device, 1, &d3d10->renderTargetView, NULL);
|
||||
D3D10SetRenderTargets(d3d10->device, 1, &d3d10->renderTargetView, NULL);
|
||||
|
||||
video_driver_set_size(&d3d10->vp.full_width, &d3d10->vp.full_height);
|
||||
d3d10->viewport.Width = d3d10->vp.full_width;
|
||||
@ -684,7 +684,7 @@ d3d10_gfx_init(const video_info_t* video,
|
||||
d3d10_gfx_set_rotation(d3d10, 0);
|
||||
|
||||
{
|
||||
D3D10_SAMPLER_DESC desc = { D3D10_FILTER_MIN_MAG_MIP_POINT };
|
||||
D3D10_SAMPLER_DESC desc = { D3D10_FILTER_MIN_MAG_MIP_POINT };
|
||||
desc.MaxAnisotropy = 1;
|
||||
desc.ComparisonFunc = D3D10_COMPARISON_NEVER;
|
||||
desc.MinLOD = -D3D10_FLOAT32_MAX;
|
||||
@ -756,52 +756,52 @@ d3d10_gfx_init(const video_info_t* video,
|
||||
{
|
||||
D3D10_INPUT_ELEMENT_DESC desc[] = {
|
||||
{ "POSITION", 0, DXGI_FORMAT_R32G32_FLOAT, 0, offsetof(d3d10_vertex_t, position),
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, offsetof(d3d10_vertex_t, texcoord),
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, offsetof(d3d10_vertex_t, color),
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
};
|
||||
|
||||
static const char shader[] =
|
||||
#include "d3d_shaders/opaque_sm5.hlsl.h"
|
||||
;
|
||||
;
|
||||
|
||||
if (!d3d10_init_shader(
|
||||
d3d10->device, shader, sizeof(shader), NULL, "VSMain", "PSMain", NULL, desc,
|
||||
countof(desc), &d3d10->shaders[VIDEO_SHADER_STOCK_BLEND]))
|
||||
d3d10->device, shader, sizeof(shader), NULL, "VSMain", "PSMain", NULL, desc,
|
||||
countof(desc), &d3d10->shaders[VIDEO_SHADER_STOCK_BLEND]))
|
||||
goto error;
|
||||
}
|
||||
|
||||
{
|
||||
D3D10_INPUT_ELEMENT_DESC desc[] = {
|
||||
{ "POSITION", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, offsetof(d3d10_sprite_t, pos),
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, offsetof(d3d10_sprite_t, coords),
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "COLOR", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, offsetof(d3d10_sprite_t, colors[0]),
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "COLOR", 1, DXGI_FORMAT_R8G8B8A8_UNORM, 0, offsetof(d3d10_sprite_t, colors[1]),
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "COLOR", 2, DXGI_FORMAT_R8G8B8A8_UNORM, 0, offsetof(d3d10_sprite_t, colors[2]),
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "COLOR", 3, DXGI_FORMAT_R8G8B8A8_UNORM, 0, offsetof(d3d10_sprite_t, colors[3]),
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "PARAMS", 0, DXGI_FORMAT_R32G32_FLOAT, 0, offsetof(d3d10_sprite_t, params),
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D10_INPUT_PER_VERTEX_DATA, 0 },
|
||||
};
|
||||
|
||||
static const char shader[] =
|
||||
#include "d3d_shaders/sprite_sm4.hlsl.h"
|
||||
;
|
||||
;
|
||||
|
||||
if (!d3d10_init_shader(
|
||||
d3d10->device, shader, sizeof(shader), NULL, "VSMain", "PSMain", "GSMain", desc,
|
||||
countof(desc), &d3d10->sprites.shader))
|
||||
d3d10->device, shader, sizeof(shader), NULL, "VSMain", "PSMain", "GSMain", desc,
|
||||
countof(desc), &d3d10->sprites.shader))
|
||||
goto error;
|
||||
if (!d3d10_init_shader(
|
||||
d3d10->device, shader, sizeof(shader), NULL, "VSMain", "PSMainA8", "GSMain", desc,
|
||||
countof(desc), &d3d10->sprites.shader_font))
|
||||
d3d10->device, shader, sizeof(shader), NULL, "VSMain", "PSMainA8", "GSMain", desc,
|
||||
countof(desc), &d3d10->sprites.shader_font))
|
||||
goto error;
|
||||
}
|
||||
|
||||
@ -873,7 +873,7 @@ d3d10_gfx_init(const video_info_t* video,
|
||||
}
|
||||
|
||||
{
|
||||
D3D10_BLEND_DESC blend_desc = { 0 };
|
||||
D3D10_BLEND_DESC blend_desc = { 0 };
|
||||
|
||||
blend_desc.AlphaToCoverageEnable = FALSE;
|
||||
blend_desc.BlendEnable[0] = TRUE;
|
||||
@ -917,7 +917,7 @@ d3d10_gfx_init(const video_info_t* video,
|
||||
|
||||
#if 0
|
||||
if (video_driver_get_hw_context()->context_type == RETRO_HW_CONTEXT_DIRECT3D &&
|
||||
video_driver_get_hw_context()->version_major == 11)
|
||||
video_driver_get_hw_context()->version_major == 11)
|
||||
{
|
||||
d3d10->hw.enable = true;
|
||||
d3d10->hw.iface.interface_type = RETRO_HW_RENDER_INTERFACE_D3D10;
|
||||
@ -1023,7 +1023,7 @@ static void d3d10_init_render_targets(d3d10_video_t* d3d10,
|
||||
RARCH_LOG("[D3D10]: Updating framebuffer size %u x %u.\n", width, height);
|
||||
|
||||
if ((i != (d3d10->shader_preset->passes - 1)) || (width != d3d10->vp.width) ||
|
||||
(height != d3d10->vp.height))
|
||||
(height != d3d10->vp.height))
|
||||
{
|
||||
d3d10->pass[i].viewport.Width = width;
|
||||
d3d10->pass[i].viewport.Height = height;
|
||||
@ -1104,7 +1104,7 @@ static bool d3d10_gfx_frame(
|
||||
#if 0 /* custom viewport doesn't call apply_state_changes, so we can't rely on this for now */
|
||||
if (d3d10->resize_viewport)
|
||||
#endif
|
||||
d3d10_update_viewport(d3d10, false);
|
||||
d3d10_update_viewport(d3d10, false);
|
||||
|
||||
D3D10SetPrimitiveTopology(context, D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
|
||||
|
||||
@ -1121,7 +1121,7 @@ static bool d3d10_gfx_frame(
|
||||
if (d3d10->shader_preset)
|
||||
{
|
||||
if (d3d10->frame.texture[0].desc.Width != width ||
|
||||
d3d10->frame.texture[0].desc.Height != height)
|
||||
d3d10->frame.texture[0].desc.Height != height)
|
||||
d3d10->resize_render_targets = true;
|
||||
|
||||
if (d3d10->resize_render_targets)
|
||||
@ -1157,7 +1157,7 @@ static bool d3d10_gfx_frame(
|
||||
|
||||
/* either no history, or we moved a texture of a different size in the front slot */
|
||||
if (d3d10->frame.texture[0].desc.Width != width ||
|
||||
d3d10->frame.texture[0].desc.Height != height)
|
||||
d3d10->frame.texture[0].desc.Height != height)
|
||||
{
|
||||
d3d10->frame.texture[0].desc.Width = width;
|
||||
d3d10->frame.texture[0].desc.Height = height;
|
||||
@ -1200,7 +1200,7 @@ static bool d3d10_gfx_frame(
|
||||
|
||||
if (d3d10->shader_preset->pass[i].frame_count_mod)
|
||||
d3d10->pass[i].frame_count =
|
||||
frame_count % d3d10->shader_preset->pass[i].frame_count_mod;
|
||||
frame_count % d3d10->shader_preset->pass[i].frame_count_mod;
|
||||
else
|
||||
d3d10->pass[i].frame_count = frame_count;
|
||||
|
||||
@ -1328,19 +1328,19 @@ static bool d3d10_gfx_frame(
|
||||
else
|
||||
#endif
|
||||
if (video_info->statistics_show)
|
||||
{
|
||||
struct font_params* osd_params = (struct font_params*)&video_info->osd_stat_params;
|
||||
|
||||
if (osd_params)
|
||||
{
|
||||
D3D10SetViewports(context, 1, &d3d10->viewport);
|
||||
D3D10SetBlendState(d3d10->device, d3d10->blend_enable, NULL, D3D10_DEFAULT_SAMPLE_MASK);
|
||||
D3D10SetVertexBuffer(context, 0, d3d10->sprites.vbo, sizeof(d3d10_sprite_t), 0);
|
||||
font_driver_render_msg(
|
||||
video_info, NULL, video_info->stat_text,
|
||||
(const struct font_params*)&video_info->osd_stat_params);
|
||||
struct font_params* osd_params = (struct font_params*)&video_info->osd_stat_params;
|
||||
|
||||
if (osd_params)
|
||||
{
|
||||
D3D10SetViewports(context, 1, &d3d10->viewport);
|
||||
D3D10SetBlendState(d3d10->device, d3d10->blend_enable, NULL, D3D10_DEFAULT_SAMPLE_MASK);
|
||||
D3D10SetVertexBuffer(context, 0, d3d10->sprites.vbo, sizeof(d3d10_sprite_t), 0);
|
||||
font_driver_render_msg(
|
||||
video_info, NULL, video_info->stat_text,
|
||||
(const struct font_params*)&video_info->osd_stat_params);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
if (d3d10->overlays.enabled)
|
||||
@ -1383,7 +1383,7 @@ static void d3d10_gfx_set_nonblock_state(void* data, bool toggle)
|
||||
{
|
||||
d3d10_video_t* d3d10 = (d3d10_video_t*)data;
|
||||
|
||||
if (!d3d10)
|
||||
if (!d3d10)
|
||||
return;
|
||||
|
||||
d3d10->vsync = !toggle;
|
||||
@ -1471,7 +1471,7 @@ static void d3d10_set_menu_texture_enable(void* data, bool state, bool full_scre
|
||||
{
|
||||
d3d10_video_t* d3d10 = (d3d10_video_t*)data;
|
||||
|
||||
if (!d3d10)
|
||||
if (!d3d10)
|
||||
return;
|
||||
|
||||
d3d10->menu.enabled = state;
|
||||
@ -1571,7 +1571,7 @@ static void d3d10_gfx_unload_texture(void* data, uintptr_t handle)
|
||||
}
|
||||
|
||||
#if 0
|
||||
static bool
|
||||
static bool
|
||||
d3d10_get_hw_render_interface(void* data, const struct retro_hw_render_interface** iface)
|
||||
{
|
||||
d3d10_video_t* d3d10 = (d3d10_video_t*)data;
|
||||
|
@ -55,7 +55,7 @@ static void d3d11_free_overlays(d3d11_video_t* d3d11)
|
||||
Release(d3d11->overlays.vbo);
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
d3d11_overlay_vertex_geom(void* data, unsigned index, float x, float y, float w, float h)
|
||||
{
|
||||
D3D11_MAPPED_SUBRESOURCE mapped_vbo;
|
||||
@ -230,6 +230,7 @@ static void d3d11_set_filtering(void* data, unsigned index, bool smooth)
|
||||
static void d3d11_gfx_set_rotation(void* data, unsigned rotation)
|
||||
{
|
||||
math_matrix_4x4 rot;
|
||||
D3D11_MAPPED_SUBRESOURCE mapped_ubo;
|
||||
d3d11_video_t* d3d11 = (d3d11_video_t*)data;
|
||||
|
||||
if (!d3d11)
|
||||
@ -238,7 +239,6 @@ static void d3d11_gfx_set_rotation(void* data, unsigned rotation)
|
||||
matrix_4x4_rotate_z(rot, rotation * (M_PI / 2.0f));
|
||||
matrix_4x4_multiply(d3d11->mvp, rot, d3d11->ubo_values.mvp);
|
||||
|
||||
D3D11_MAPPED_SUBRESOURCE mapped_ubo;
|
||||
D3D11MapBuffer(d3d11->context, d3d11->frame.ubo, 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped_ubo);
|
||||
*(math_matrix_4x4*)mapped_ubo.pData = d3d11->mvp;
|
||||
D3D11UnmapBuffer(d3d11->context, d3d11->frame.ubo, 0);
|
||||
@ -258,7 +258,7 @@ static void d3d11_update_viewport(void* data, bool force_full)
|
||||
d3d11->frame.viewport.MaxDepth = 1.0f;
|
||||
|
||||
if (d3d11->shader_preset && (d3d11->frame.output_size.x != d3d11->vp.width ||
|
||||
d3d11->frame.output_size.y != d3d11->vp.height))
|
||||
d3d11->frame.output_size.y != d3d11->vp.height))
|
||||
d3d11->resize_render_targets = true;
|
||||
|
||||
d3d11->frame.output_size.x = d3d11->vp.width;
|
||||
@ -318,8 +318,9 @@ static bool d3d11_gfx_set_shader(void* data, enum rarch_shader_type type, const
|
||||
{
|
||||
#if defined(HAVE_SLANG) && defined(HAVE_SPIRV_CROSS)
|
||||
unsigned i;
|
||||
d3d11_texture_t* source;
|
||||
d3d11_video_t* d3d11 = (d3d11_video_t*)data;
|
||||
config_file_t* conf = NULL;
|
||||
d3d11_texture_t* source = NULL;
|
||||
d3d11_video_t* d3d11 = (d3d11_video_t*)data;
|
||||
|
||||
if (!d3d11)
|
||||
return false;
|
||||
@ -336,7 +337,7 @@ static bool d3d11_gfx_set_shader(void* data, enum rarch_shader_type type, const
|
||||
return false;
|
||||
}
|
||||
|
||||
config_file_t* conf = config_file_new(path);
|
||||
conf = config_file_new(path);
|
||||
|
||||
if (!conf)
|
||||
return false;
|
||||
@ -389,16 +390,16 @@ static bool d3d11_gfx_set_shader(void* data, enum rarch_shader_type type, const
|
||||
/* clang-format on */
|
||||
|
||||
if (!slang_process(
|
||||
d3d11->shader_preset, i, RARCH_SHADER_HLSL, 40, &semantics_map,
|
||||
&d3d11->pass[i].semantics))
|
||||
d3d11->shader_preset, i, RARCH_SHADER_HLSL, 40, &semantics_map,
|
||||
&d3d11->pass[i].semantics))
|
||||
goto error;
|
||||
|
||||
{
|
||||
static const D3D11_INPUT_ELEMENT_DESC desc[] = {
|
||||
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, offsetof(d3d11_vertex_t, position),
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "TEXCOORD", 1, DXGI_FORMAT_R32G32_FLOAT, 0, offsetof(d3d11_vertex_t, texcoord),
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
};
|
||||
#ifdef DEBUG
|
||||
bool save_hlsl = true;
|
||||
@ -419,13 +420,13 @@ static bool d3d11_gfx_set_shader(void* data, enum rarch_shader_type type, const
|
||||
strlcat(ps_path, ps_ext, sizeof(ps_path));
|
||||
|
||||
if (!d3d11_init_shader(
|
||||
d3d11->device, vs_src, 0, vs_path, "main", NULL, NULL, desc, countof(desc),
|
||||
&d3d11->pass[i].shader))
|
||||
d3d11->device, vs_src, 0, vs_path, "main", NULL, NULL, desc, countof(desc),
|
||||
&d3d11->pass[i].shader))
|
||||
save_hlsl = true;
|
||||
|
||||
if (!d3d11_init_shader(
|
||||
d3d11->device, ps_src, 0, ps_path, NULL, "main", NULL, NULL, 0,
|
||||
&d3d11->pass[i].shader))
|
||||
d3d11->device, ps_src, 0, ps_path, NULL, "main", NULL, NULL, 0,
|
||||
&d3d11->pass[i].shader))
|
||||
save_hlsl = true;
|
||||
|
||||
if (save_hlsl)
|
||||
@ -552,24 +553,24 @@ static void d3d11_gfx_free(void* data)
|
||||
|
||||
font_driver_free_osd();
|
||||
|
||||
if (video_driver_is_video_cache_context())
|
||||
{
|
||||
if (video_driver_is_video_cache_context())
|
||||
{
|
||||
cached_device_d3d11 = d3d11->device;
|
||||
cached_context = d3d11->context;
|
||||
cached_supportedFeatureLevel = d3d11->supportedFeatureLevel;
|
||||
}
|
||||
else
|
||||
{
|
||||
Release(d3d11->context);
|
||||
Release(d3d11->device);
|
||||
}
|
||||
cached_context = d3d11->context;
|
||||
cached_supportedFeatureLevel = d3d11->supportedFeatureLevel;
|
||||
}
|
||||
else
|
||||
{
|
||||
Release(d3d11->context);
|
||||
Release(d3d11->device);
|
||||
}
|
||||
|
||||
win32_monitor_from_window();
|
||||
win32_destroy_window();
|
||||
free(d3d11);
|
||||
}
|
||||
|
||||
static void*
|
||||
static void*
|
||||
d3d11_gfx_init(const video_info_t* video, const input_driver_t** input, void** input_data)
|
||||
{
|
||||
unsigned i;
|
||||
@ -609,12 +610,12 @@ d3d11_gfx_init(const video_info_t* video, const input_driver_t** input, void** i
|
||||
UINT flags = 0;
|
||||
D3D_FEATURE_LEVEL
|
||||
requested_feature_levels[] =
|
||||
{
|
||||
D3D_FEATURE_LEVEL_11_0,
|
||||
D3D_FEATURE_LEVEL_10_1,
|
||||
D3D_FEATURE_LEVEL_10_0,
|
||||
D3D_FEATURE_LEVEL_9_3
|
||||
};
|
||||
{
|
||||
D3D_FEATURE_LEVEL_11_0,
|
||||
D3D_FEATURE_LEVEL_10_1,
|
||||
D3D_FEATURE_LEVEL_10_0,
|
||||
D3D_FEATURE_LEVEL_9_3
|
||||
};
|
||||
DXGI_SWAP_CHAIN_DESC desc = { 0 };
|
||||
UINT number_feature_levels = ARRAY_SIZE(requested_feature_levels);
|
||||
|
||||
@ -642,39 +643,39 @@ d3d11_gfx_init(const video_info_t* video, const input_driver_t** input, void** i
|
||||
#ifdef DEBUG
|
||||
flags |= D3D11_CREATE_DEVICE_DEBUG;
|
||||
#endif
|
||||
if(cached_device_d3d11 && cached_context)
|
||||
{
|
||||
IDXGIFactory* dxgiFactory = NULL;
|
||||
IDXGIDevice* dxgiDevice = NULL;
|
||||
IDXGIAdapter* adapter = NULL;
|
||||
if(cached_device_d3d11 && cached_context)
|
||||
{
|
||||
IDXGIFactory* dxgiFactory = NULL;
|
||||
IDXGIDevice* dxgiDevice = NULL;
|
||||
IDXGIAdapter* adapter = NULL;
|
||||
|
||||
d3d11->device = cached_device_d3d11;
|
||||
d3d11->context = cached_context;
|
||||
d3d11->supportedFeatureLevel = cached_supportedFeatureLevel;
|
||||
d3d11->device = cached_device_d3d11;
|
||||
d3d11->context = cached_context;
|
||||
d3d11->supportedFeatureLevel = cached_supportedFeatureLevel;
|
||||
|
||||
d3d11->device->lpVtbl->QueryInterface(
|
||||
d3d11->device->lpVtbl->QueryInterface(
|
||||
d3d11->device, uuidof(IDXGIDevice), (void**)&dxgiDevice);
|
||||
dxgiDevice->lpVtbl->GetAdapter(dxgiDevice, &adapter);
|
||||
adapter->lpVtbl->GetParent(
|
||||
dxgiDevice->lpVtbl->GetAdapter(dxgiDevice, &adapter);
|
||||
adapter->lpVtbl->GetParent(
|
||||
adapter, uuidof(IDXGIFactory1), (void**)&dxgiFactory);
|
||||
dxgiFactory->lpVtbl->CreateSwapChain(
|
||||
dxgiFactory->lpVtbl->CreateSwapChain(
|
||||
dxgiFactory, (IUnknown*)d3d11->device,
|
||||
&desc, (IDXGISwapChain**)&d3d11->swapChain);
|
||||
|
||||
dxgiFactory->lpVtbl->Release(dxgiFactory);
|
||||
adapter->lpVtbl->Release(adapter);
|
||||
dxgiDevice->lpVtbl->Release(dxgiDevice);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (FAILED(D3D11CreateDeviceAndSwapChain(
|
||||
NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, flags,
|
||||
requested_feature_levels, number_feature_levels,
|
||||
D3D11_SDK_VERSION, &desc,
|
||||
(IDXGISwapChain**)&d3d11->swapChain, &d3d11->device,
|
||||
&d3d11->supportedFeatureLevel, &d3d11->context)))
|
||||
dxgiFactory->lpVtbl->Release(dxgiFactory);
|
||||
adapter->lpVtbl->Release(adapter);
|
||||
dxgiDevice->lpVtbl->Release(dxgiDevice);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (FAILED(D3D11CreateDeviceAndSwapChain(
|
||||
NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, flags,
|
||||
requested_feature_levels, number_feature_levels,
|
||||
D3D11_SDK_VERSION, &desc,
|
||||
(IDXGISwapChain**)&d3d11->swapChain, &d3d11->device,
|
||||
&d3d11->supportedFeatureLevel, &d3d11->context)))
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
@ -801,52 +802,52 @@ d3d11_gfx_init(const video_info_t* video, const input_driver_t** input, void** i
|
||||
{
|
||||
D3D11_INPUT_ELEMENT_DESC desc[] = {
|
||||
{ "POSITION", 0, DXGI_FORMAT_R32G32_FLOAT, 0, offsetof(d3d11_vertex_t, position),
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, offsetof(d3d11_vertex_t, texcoord),
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, offsetof(d3d11_vertex_t, color),
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
};
|
||||
|
||||
static const char shader[] =
|
||||
#include "d3d_shaders/opaque_sm5.hlsl.h"
|
||||
;
|
||||
;
|
||||
|
||||
if (!d3d11_init_shader(
|
||||
d3d11->device, shader, sizeof(shader), NULL, "VSMain", "PSMain", NULL, desc,
|
||||
countof(desc), &d3d11->shaders[VIDEO_SHADER_STOCK_BLEND]))
|
||||
d3d11->device, shader, sizeof(shader), NULL, "VSMain", "PSMain", NULL, desc,
|
||||
countof(desc), &d3d11->shaders[VIDEO_SHADER_STOCK_BLEND]))
|
||||
goto error;
|
||||
}
|
||||
|
||||
{
|
||||
D3D11_INPUT_ELEMENT_DESC desc[] = {
|
||||
{ "POSITION", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, offsetof(d3d11_sprite_t, pos),
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, offsetof(d3d11_sprite_t, coords),
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "COLOR", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, offsetof(d3d11_sprite_t, colors[0]),
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "COLOR", 1, DXGI_FORMAT_R8G8B8A8_UNORM, 0, offsetof(d3d11_sprite_t, colors[1]),
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "COLOR", 2, DXGI_FORMAT_R8G8B8A8_UNORM, 0, offsetof(d3d11_sprite_t, colors[2]),
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "COLOR", 3, DXGI_FORMAT_R8G8B8A8_UNORM, 0, offsetof(d3d11_sprite_t, colors[3]),
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "PARAMS", 0, DXGI_FORMAT_R32G32_FLOAT, 0, offsetof(d3d11_sprite_t, params),
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
};
|
||||
|
||||
static const char shader[] =
|
||||
#include "d3d_shaders/sprite_sm4.hlsl.h"
|
||||
;
|
||||
;
|
||||
|
||||
if (!d3d11_init_shader(
|
||||
d3d11->device, shader, sizeof(shader), NULL, "VSMain", "PSMain", "GSMain", desc,
|
||||
countof(desc), &d3d11->sprites.shader))
|
||||
d3d11->device, shader, sizeof(shader), NULL, "VSMain", "PSMain", "GSMain", desc,
|
||||
countof(desc), &d3d11->sprites.shader))
|
||||
goto error;
|
||||
if (!d3d11_init_shader(
|
||||
d3d11->device, shader, sizeof(shader), NULL, "VSMain", "PSMainA8", "GSMain", desc,
|
||||
countof(desc), &d3d11->sprites.shader_font))
|
||||
d3d11->device, shader, sizeof(shader), NULL, "VSMain", "PSMainA8", "GSMain", desc,
|
||||
countof(desc), &d3d11->sprites.shader_font))
|
||||
goto error;
|
||||
}
|
||||
|
||||
@ -960,7 +961,7 @@ d3d11_gfx_init(const video_info_t* video, const input_driver_t** input, void** i
|
||||
}
|
||||
|
||||
if (video_driver_get_hw_context()->context_type == RETRO_HW_CONTEXT_DIRECT3D &&
|
||||
video_driver_get_hw_context()->version_major == 11)
|
||||
video_driver_get_hw_context()->version_major == 11)
|
||||
{
|
||||
d3d11->hw.enable = true;
|
||||
d3d11->hw.iface.interface_type = RETRO_HW_RENDER_INTERFACE_D3D11;
|
||||
@ -1064,7 +1065,7 @@ static void d3d11_init_render_targets(d3d11_video_t* d3d11, unsigned width, unsi
|
||||
RARCH_LOG("[D3D11]: Updating framebuffer size %u x %u.\n", width, height);
|
||||
|
||||
if ((i != (d3d11->shader_preset->passes - 1)) || (width != d3d11->vp.width) ||
|
||||
(height != d3d11->vp.height))
|
||||
(height != d3d11->vp.height))
|
||||
{
|
||||
d3d11->pass[i].viewport.Width = width;
|
||||
d3d11->pass[i].viewport.Height = height;
|
||||
@ -1145,7 +1146,7 @@ static bool d3d11_gfx_frame(
|
||||
#if 0 /* custom viewport doesn't call apply_state_changes, so we can't rely on this for now */
|
||||
if (d3d11->resize_viewport)
|
||||
#endif
|
||||
d3d11_update_viewport(d3d11, false);
|
||||
d3d11_update_viewport(d3d11, false);
|
||||
|
||||
D3D11SetPrimitiveTopology(context, D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
|
||||
|
||||
@ -1160,7 +1161,7 @@ static bool d3d11_gfx_frame(
|
||||
if (d3d11->shader_preset)
|
||||
{
|
||||
if (d3d11->frame.texture[0].desc.Width != width ||
|
||||
d3d11->frame.texture[0].desc.Height != height)
|
||||
d3d11->frame.texture[0].desc.Height != height)
|
||||
d3d11->resize_render_targets = true;
|
||||
|
||||
if (d3d11->resize_render_targets)
|
||||
@ -1194,7 +1195,7 @@ static bool d3d11_gfx_frame(
|
||||
|
||||
/* either no history, or we moved a texture of a different size in the front slot */
|
||||
if (d3d11->frame.texture[0].desc.Width != width ||
|
||||
d3d11->frame.texture[0].desc.Height != height)
|
||||
d3d11->frame.texture[0].desc.Height != height)
|
||||
{
|
||||
d3d11->frame.texture[0].desc.Width = width;
|
||||
d3d11->frame.texture[0].desc.Height = height;
|
||||
@ -1234,7 +1235,7 @@ static bool d3d11_gfx_frame(
|
||||
|
||||
if (d3d11->shader_preset->pass[i].frame_count_mod)
|
||||
d3d11->pass[i].frame_count =
|
||||
frame_count % d3d11->shader_preset->pass[i].frame_count_mod;
|
||||
frame_count % d3d11->shader_preset->pass[i].frame_count_mod;
|
||||
else
|
||||
d3d11->pass[i].frame_count = frame_count;
|
||||
|
||||
@ -1596,7 +1597,7 @@ static void d3d11_gfx_unload_texture(void* data, uintptr_t handle)
|
||||
free(texture);
|
||||
}
|
||||
|
||||
static bool
|
||||
static bool
|
||||
d3d11_get_hw_render_interface(void* data, const struct retro_hw_render_interface** iface)
|
||||
{
|
||||
d3d11_video_t* d3d11 = (d3d11_video_t*)data;
|
||||
|
@ -208,8 +208,10 @@ static void menu_display_d3d10_draw_pipeline(menu_display_ctx_draw_t* draw,
|
||||
desc.ByteWidth = ca->coords.vertices * 2 * sizeof(float);
|
||||
desc.BindFlags = D3D10_BIND_VERTEX_BUFFER;
|
||||
|
||||
D3D10_SUBRESOURCE_DATA vertexData = { ca->coords.vertex };
|
||||
D3D10CreateBuffer(d3d10->device, &desc, &vertexData, &d3d10->menu_pipeline_vbo);
|
||||
{
|
||||
D3D10_SUBRESOURCE_DATA vertexData = { ca->coords.vertex };
|
||||
D3D10CreateBuffer(d3d10->device, &desc, &vertexData, &d3d10->menu_pipeline_vbo);
|
||||
}
|
||||
}
|
||||
D3D10SetVertexBuffer(d3d10->device, 0, d3d10->menu_pipeline_vbo, 2 * sizeof(float), 0);
|
||||
draw->coords->vertices = ca->coords.vertices;
|
||||
|
@ -207,8 +207,10 @@ static void menu_display_d3d11_draw_pipeline(menu_display_ctx_draw_t *draw,
|
||||
desc.ByteWidth = ca->coords.vertices * 2 * sizeof(float);
|
||||
desc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
|
||||
|
||||
D3D11_SUBRESOURCE_DATA vertexData = { ca->coords.vertex };
|
||||
D3D11CreateBuffer(d3d11->device, &desc, &vertexData, &d3d11->menu_pipeline_vbo);
|
||||
{
|
||||
D3D11_SUBRESOURCE_DATA vertexData = { ca->coords.vertex };
|
||||
D3D11CreateBuffer(d3d11->device, &desc, &vertexData, &d3d11->menu_pipeline_vbo);
|
||||
}
|
||||
}
|
||||
D3D11SetVertexBuffer(d3d11->context, 0, d3d11->menu_pipeline_vbo, 2 * sizeof(float), 0);
|
||||
draw->coords->vertices = ca->coords.vertices;
|
||||
|
@ -52,7 +52,8 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;WANT_GLSLANG;HAVE_DYNAMIC;HAVE_DYLIB;HAVE_SPIRV_CROSS;HAVE_MENU;HAVE_SLANG;HAVE_GLSLANG;HAVE_UPDATE_ASSETS;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_RGUI;HAVE_MATERIALUI;NDEBUG;_WINDOWS;HAVE_XAUDIO;HAVE_DSOUND;HAVE_DINPUT;HAVE_D3D;HAVE_D3D9;HAVE_D3D10;HAVE_D3D11;HAVE_OPENGL;HAVE_VULKAN;HAVE_GLSL;HAVE_THREADS;RARCH_INTERNAL;HAVE_CC_RESAMPLER;HAVE_RUNAHEAD;HAVE_GRIFFIN;HAVE_RJPEG;HAVE_RPNG;HAVE_ZLIB;WANT_ZLIB;HAVE_NETWORKING;HAVE_NETWORK_CMD;HAVE_COMMAND;HAVE_STDIN_CMD;HAVE_OVERLAY;HAVE_7ZIP;HAVE_LIBRETRODB;HAVE_STB_FONT;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\deps;$(SolutionDir)\..\..\gfx\include;$(SolutionDir)\..\..\gfx\include\dxsdk;$(SolutionDir)\..\..\libretro-common\include;$(SolutionDir)\..\..\deps\SPIRV-Cross;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@ -67,7 +68,8 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;WANT_GLSLANG;HAVE_DYNAMIC;HAVE_DYLIB;HAVE_SPIRV_CROSS;HAVE_MENU;HAVE_SLANG;HAVE_GLSLANG;HAVE_UPDATE_ASSETS;HAVE_XMB;HAVE_SHADERPIPELINE;HAVE_RGUI;HAVE_MATERIALUI;NDEBUG;_WINDOWS;HAVE_XAUDIO;HAVE_DSOUND;HAVE_DINPUT;HAVE_D3D;HAVE_D3D9;HAVE_D3D10;HAVE_D3D11;HAVE_OPENGL;HAVE_VULKAN;HAVE_GLSL;HAVE_THREADS;RARCH_INTERNAL;HAVE_CC_RESAMPLER;HAVE_RUNAHEAD;HAVE_GRIFFIN;HAVE_RJPEG;HAVE_RPNG;HAVE_ZLIB;WANT_ZLIB;HAVE_NETWORKING;HAVE_NETWORK_CMD;HAVE_COMMAND;HAVE_STDIN_CMD;HAVE_OVERLAY;HAVE_7ZIP;HAVE_LIBRETRODB;HAVE_STB_FONT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\deps;$(SolutionDir)\..\..\gfx\include;$(SolutionDir)\..\..\gfx\include\dxsdk;$(SolutionDir)\..\..\libretro-common\include;$(SolutionDir)\..\..\deps\SPIRV-Cross;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
|
Loading…
x
Reference in New Issue
Block a user