(D3D10) Remove inline functions

This commit is contained in:
libretroadmin 2022-05-17 23:13:33 +02:00
parent b3632586f5
commit 5a5c65d9b9
4 changed files with 97 additions and 101 deletions

View File

@ -217,15 +217,7 @@ typedef struct
IDXGIAdapter1 *current_adapter;
} d3d10_video_t;
#if !defined(__cplusplus) || defined(CINTERFACE)
static INLINE HRESULT
D3D10MapBuffer(D3D10Buffer buffer, D3D10_MAP map_type, UINT map_flags, void** data)
{
return buffer->lpVtbl->Map(buffer, map_type, map_flags, data);
}
static INLINE void D3D10UnmapBuffer(D3D10Buffer buffer) { buffer->lpVtbl->Unmap(buffer); }
static INLINE void D3D10SetVertexBuffer(
D3D10Device device_context,
UINT slot,
@ -236,39 +228,6 @@ static INLINE void D3D10SetVertexBuffer(
device_context->lpVtbl->IASetVertexBuffers(
device_context, slot, 1, (D3D10Buffer* const)&vertex_buffer, &stride, &offset);
}
static INLINE void D3D10SetPrimitiveTopology(D3D10Device device, D3D10_PRIMITIVE_TOPOLOGY topology)
{
device->lpVtbl->IASetPrimitiveTopology(device, topology);
}
static INLINE void D3D10SetRenderTargets(
D3D10Device device,
UINT num_views,
D3D10RenderTargetView* const render_target_views,
D3D10DepthStencilView depth_stencil_view)
{
device->lpVtbl->OMSetRenderTargets(device, num_views, render_target_views, depth_stencil_view);
}
static INLINE void D3D10SetBlendState(
D3D10Device device, D3D10BlendState blend_state, FLOAT blend_factor[4], UINT sample_mask)
{
device->lpVtbl->OMSetBlendState(device, blend_state, blend_factor, sample_mask);
}
static INLINE void D3D10SetScissorRects(D3D10Device device, UINT num_rects, D3D10_RECT* rects)
{
device->lpVtbl->RSSetScissorRects(device, num_rects, rects);
}
static INLINE HRESULT D3D10CreateBuffer(
D3D10Device device,
D3D10_BUFFER_DESC* desc,
D3D10_SUBRESOURCE_DATA* initial_data,
D3D10Buffer* buffer)
{
return device->lpVtbl->CreateBuffer(device, desc, initial_data, buffer);
}
/* end of auto-generated */
#endif
@ -319,7 +278,8 @@ d3d10_get_closest_match_texture2D(D3D10Device device, DXGI_FORMAT desired_format
{
return d3d10_get_closest_match(
device, desired_format,
D3D10_FORMAT_SUPPORT_TEXTURE2D | D3D10_FORMAT_SUPPORT_SHADER_SAMPLE);
D3D10_FORMAT_SUPPORT_TEXTURE2D
| D3D10_FORMAT_SUPPORT_SHADER_SAMPLE);
}
static INLINE void d3d10_set_shader(D3D10Device ctx, d3d10_shader_t* shader)

View File

@ -72,7 +72,8 @@ static void d3d10_clear_scissor(d3d10_video_t *d3d10, unsigned width, unsigned h
scissor_rect.right = width;
scissor_rect.bottom = height;
D3D10SetScissorRects(d3d10->device, 1, &scissor_rect);
d3d10->device->lpVtbl->RSSetScissorRects(d3d10->device, 1,
&scissor_rect);
}
#ifdef HAVE_OVERLAY
@ -94,7 +95,7 @@ d3d10_overlay_vertex_geom(void* data, unsigned index, float x, float y, float w,
if (!d3d10)
return;
D3D10MapBuffer(d3d10->overlays.vbo,
d3d10->overlays.vbo->lpVtbl->Map(d3d10->overlays.vbo,
D3D10_MAP_WRITE_NO_OVERWRITE, 0, (void**)&sprites);
if (sprites)
@ -104,7 +105,8 @@ d3d10_overlay_vertex_geom(void* data, unsigned index, float x, float y, float w,
sprites[index].pos.w = w;
sprites[index].pos.h = h;
}
D3D10UnmapBuffer(d3d10->overlays.vbo);
d3d10->overlays.vbo->lpVtbl->Unmap(d3d10->overlays.vbo);
}
static void d3d10_overlay_tex_geom(void* data, unsigned index, float u, float v, float w, float h)
@ -115,14 +117,13 @@ static void d3d10_overlay_tex_geom(void* data, unsigned index, float u, float v,
if (!d3d10)
return;
D3D10MapBuffer(
d3d10->overlays.vbo,
d3d10->overlays.vbo->lpVtbl->Map(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;
D3D10UnmapBuffer(d3d10->overlays.vbo);
d3d10->overlays.vbo->lpVtbl->Unmap(d3d10->overlays.vbo);
}
static void d3d10_overlay_set_alpha(void* data, unsigned index, float mod)
@ -133,8 +134,7 @@ static void d3d10_overlay_set_alpha(void* data, unsigned index, float mod)
if (!d3d10)
return;
D3D10MapBuffer(
d3d10->overlays.vbo,
d3d10->overlays.vbo->lpVtbl->Map(d3d10->overlays.vbo,
D3D10_MAP_WRITE_NO_OVERWRITE, 0, (void**)&sprites);
if (sprites)
@ -144,7 +144,7 @@ static void d3d10_overlay_set_alpha(void* data, unsigned index, float mod)
sprites[index].colors[2] = sprites[index].colors[0];
sprites[index].colors[3] = sprites[index].colors[0];
}
D3D10UnmapBuffer(d3d10->overlays.vbo);
d3d10->overlays.vbo->lpVtbl->Unmap(d3d10->overlays.vbo);
}
static bool d3d10_overlay_load(void* data, const void* image_data, unsigned num_images)
@ -171,9 +171,9 @@ static bool d3d10_overlay_load(void* data, const void* image_data, unsigned num_
#if 0
desc.StructureByteStride = 0;
#endif
D3D10CreateBuffer(d3d10->device, &desc, NULL, &d3d10->overlays.vbo);
D3D10MapBuffer(d3d10->overlays.vbo,
d3d10->device->lpVtbl->CreateBuffer(d3d10->device, &desc,
NULL, &d3d10->overlays.vbo);
d3d10->overlays.vbo->lpVtbl->Map(d3d10->overlays.vbo,
D3D10_MAP_WRITE_DISCARD, 0, (void**)&sprites);
for (i = 0; i < (unsigned)num_images; i++)
@ -210,7 +210,7 @@ static bool d3d10_overlay_load(void* data, const void* image_data, unsigned num_
sprites[i].colors[2] = sprites[i].colors[0];
sprites[i].colors[3] = sprites[i].colors[0];
}
D3D10UnmapBuffer(d3d10->overlays.vbo);
d3d10->overlays.vbo->lpVtbl->Unmap(d3d10->overlays.vbo);
return true;
}
@ -255,7 +255,9 @@ static void d3d10_render_overlay(d3d10_video_t *d3d10)
else
d3d10->device->lpVtbl->RSSetViewports(d3d10->device, 1, &d3d10->frame.viewport);
D3D10SetBlendState(d3d10->device, d3d10->blend_enable, NULL, D3D10_DEFAULT_SAMPLE_MASK);
d3d10->device->lpVtbl->OMSetBlendState(d3d10->device,
d3d10->blend_enable, NULL,
D3D10_DEFAULT_SAMPLE_MASK);
D3D10SetVertexBuffer(d3d10->device, 0, d3d10->overlays.vbo, sizeof(d3d10_sprite_t), 0);
d3d10->device->lpVtbl->PSSetSamplers(d3d10->device, 0, 1,
&d3d10->samplers[RARCH_FILTER_UNSPEC][RARCH_WRAP_DEFAULT]);
@ -297,9 +299,10 @@ static void d3d10_gfx_set_rotation(void* data, unsigned rotation)
matrix_4x4_rotate_z(rot, rotation * (M_PI / 2.0f));
matrix_4x4_multiply(d3d10->mvp, rot, d3d10->ubo_values.mvp);
D3D10MapBuffer(d3d10->frame.ubo, D3D10_MAP_WRITE_DISCARD, 0, &mapped_ubo);
d3d10->frame.ubo->lpVtbl->Map(d3d10->frame.ubo,
D3D10_MAP_WRITE_DISCARD, 0, (void**)&mapped_ubo);
*(math_matrix_4x4*)mapped_ubo = d3d10->mvp;
D3D10UnmapBuffer(d3d10->frame.ubo);
d3d10->frame.ubo->lpVtbl->Unmap(d3d10->frame.ubo);
}
static void d3d10_update_viewport(d3d10_video_t *d3d10, bool force_full)
@ -496,7 +499,7 @@ static bool d3d10_gfx_set_shader(void* data, enum rarch_shader_type type, const
if (!desc.ByteWidth)
continue;
D3D10CreateBuffer(d3d10->device, &desc,
d3d10->device->lpVtbl->CreateBuffer(d3d10->device, &desc,
NULL, &d3d10->pass[i].buffers[j]);
}
}
@ -728,7 +731,8 @@ static void *d3d10_gfx_init(const video_info_t* video,
Release(backBuffer);
}
D3D10SetRenderTargets(d3d10->device, 1, &d3d10->renderTargetView, NULL);
d3d10->device->lpVtbl->OMSetRenderTargets(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;
@ -767,8 +771,10 @@ static void *d3d10_gfx_init(const video_info_t* video,
ubo_data.SysMemPitch = 0;
ubo_data.SysMemSlicePitch = 0;
D3D10CreateBuffer(d3d10->device, &desc, &ubo_data, &d3d10->ubo);
D3D10CreateBuffer(d3d10->device, &desc, NULL, &d3d10->frame.ubo);
d3d10->device->lpVtbl->CreateBuffer(d3d10->device, &desc,
&ubo_data, &d3d10->ubo);
d3d10->device->lpVtbl->CreateBuffer(d3d10->device, &desc,
NULL, &d3d10->frame.ubo);
}
d3d10_gfx_set_rotation(d3d10, 0);
@ -835,14 +841,17 @@ static void *d3d10_gfx_init(const video_info_t* video,
desc.CPUAccessFlags = 0;
desc.MiscFlags = 0;
D3D10CreateBuffer(d3d10->device, &desc, &vertex_data, &d3d10->frame.vbo);
d3d10->device->lpVtbl->CreateBuffer(d3d10->device, &desc,
&vertex_data, &d3d10->frame.vbo);
desc.Usage = D3D10_USAGE_DYNAMIC;
desc.CPUAccessFlags = D3D10_CPU_ACCESS_WRITE;
D3D10CreateBuffer(d3d10->device, &desc, &vertex_data, &d3d10->menu.vbo);
d3d10->device->lpVtbl->CreateBuffer(d3d10->device, &desc,
&vertex_data, &d3d10->menu.vbo);
d3d10->sprites.capacity = 16 * 1024;
desc.ByteWidth = sizeof(d3d10_sprite_t) * d3d10->sprites.capacity;
D3D10CreateBuffer(d3d10->device, &desc, NULL, &d3d10->sprites.vbo);
d3d10->device->lpVtbl->CreateBuffer(d3d10->device, &desc,
NULL, &d3d10->sprites.vbo);
}
{
@ -1273,7 +1282,8 @@ static bool d3d10_gfx_frame(
(D3D10Resource)backBuffer, NULL, &d3d10->renderTargetView);
Release(backBuffer);
D3D10SetRenderTargets(d3d10->device, 1, &d3d10->renderTargetView, NULL);
d3d10->device->lpVtbl->OMSetRenderTargets(d3d10->device, 1,
&d3d10->renderTargetView, NULL);
d3d10->viewport.Width = video_width;
d3d10->viewport.Height = video_height;
@ -1291,12 +1301,14 @@ static bool d3d10_gfx_frame(
#endif
d3d10_update_viewport(d3d10, false);
D3D10SetPrimitiveTopology(context, D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
context->lpVtbl->IASetPrimitiveTopology(context,
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
#if 0
if (d3d10->hw.enable)
{
D3D10SetRenderTargets(context, 1, &d3d10->renderTargetView, NULL);
context->lpVtbl->OMSetRenderTargets(context, 1,
&d3d10->renderTargetView, NULL);
context->lpVtbl->RSSetState(context, d3d10->state);
}
#endif
@ -1360,7 +1372,8 @@ static bool d3d10_gfx_frame(
}
D3D10SetVertexBuffer(context, 0, d3d10->frame.vbo, sizeof(d3d10_vertex_t), 0);
D3D10SetBlendState(context, d3d10->blend_disable, NULL, D3D10_DEFAULT_SAMPLE_MASK);
context->lpVtbl->OMSetBlendState(context, d3d10->blend_disable, NULL,
D3D10_DEFAULT_SAMPLE_MASK);
texture = d3d10->frame.texture;
@ -1404,8 +1417,8 @@ static bool d3d10_gfx_frame(
void* uniform_data = NULL;
uniform_sem_t* uniform = buffer_sem->uniforms;
D3D10MapBuffer(buffer, D3D10_MAP_WRITE_DISCARD,
0, (void**)&uniform_data);
buffer->lpVtbl->Map(buffer,
D3D10_MAP_WRITE_DISCARD, 0, (void**)&uniform_data);
while (uniform->size)
{
@ -1414,7 +1427,7 @@ static bool d3d10_gfx_frame(
uniform->data, uniform->size);
uniform++;
}
D3D10UnmapBuffer(buffer);
buffer->lpVtbl->Unmap(buffer);
if (buffer_sem->stage_mask & SLANG_STAGE_VERTEX_MASK)
context->lpVtbl->VSSetConstantBuffers(context, buffer_sem->binding, 1, &buffer);
@ -1427,7 +1440,8 @@ static bool d3d10_gfx_frame(
{
D3D10RenderTargetView null_rt = NULL;
D3D10SetRenderTargets(context, 1, &null_rt, NULL);
context->lpVtbl->OMSetRenderTargets(context, 1,
&null_rt, NULL);
}
{
@ -1457,7 +1471,8 @@ static bool d3d10_gfx_frame(
if (d3d10->pass[i].rt.handle)
{
D3D10SetRenderTargets(context, 1, &d3d10->pass[i].rt.rt_view, NULL);
context->lpVtbl->OMSetRenderTargets(context, 1,
&d3d10->pass[i].rt.rt_view, NULL);
context->lpVtbl->RSSetViewports(context, 1, &d3d10->pass[i].viewport);
context->lpVtbl->Draw(context, 4, 0);
@ -1469,7 +1484,8 @@ static bool d3d10_gfx_frame(
break;
}
}
D3D10SetRenderTargets(context, 1, &d3d10->renderTargetView, NULL);
context->lpVtbl->OMSetRenderTargets(context, 1,
&d3d10->renderTargetView, NULL);
}
if (texture)
@ -1492,8 +1508,8 @@ static bool d3d10_gfx_frame(
d3d10_clear_scissor(d3d10, video_width, video_height);
context->lpVtbl->Draw(context, 4, 0);
D3D10SetBlendState(context, d3d10->blend_enable, NULL, D3D10_DEFAULT_SAMPLE_MASK);
context->lpVtbl->OMSetBlendState(context, d3d10->blend_enable, NULL,
D3D10_DEFAULT_SAMPLE_MASK);
if (d3d10->menu.enabled && d3d10->menu.texture.handle)
{
@ -1508,7 +1524,7 @@ static bool d3d10_gfx_frame(
}
d3d10_set_shader(context, &d3d10->sprites.shader);
D3D10SetPrimitiveTopology(context, D3D10_PRIMITIVE_TOPOLOGY_POINTLIST);
context->lpVtbl->IASetPrimitiveTopology(context, D3D10_PRIMITIVE_TOPOLOGY_POINTLIST);
context->lpVtbl->VSSetConstantBuffers(context, 0, 1, (ID3D10Buffer **
const)&d3d10->ubo);
context->lpVtbl->PSSetConstantBuffers(context, 0, 1, (ID3D10Buffer **
@ -1541,7 +1557,9 @@ static bool d3d10_gfx_frame(
if (osd_params)
{
context->lpVtbl->RSSetViewports(context, 1, &d3d10->viewport);
D3D10SetBlendState(d3d10->device, d3d10->blend_enable, NULL, D3D10_DEFAULT_SAMPLE_MASK);
d3d10->device->lpVtbl->OMSetBlendState(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(d3d10,
stat_text,
@ -1562,7 +1580,9 @@ static bool d3d10_gfx_frame(
if (msg && *msg)
{
d3d10->device->lpVtbl->RSSetViewports(d3d10->device, 1, &d3d10->viewport);
D3D10SetBlendState(d3d10->device, d3d10->blend_enable, NULL, D3D10_DEFAULT_SAMPLE_MASK);
d3d10->device->lpVtbl->OMSetBlendState(d3d10->device,
d3d10->blend_enable, NULL,
D3D10_DEFAULT_SAMPLE_MASK);
D3D10SetVertexBuffer(d3d10->device, 0, d3d10->sprites.vbo, sizeof(d3d10_sprite_t), 0);
font_driver_render_msg(d3d10, msg, NULL, NULL);
}

View File

@ -31,15 +31,17 @@
static void gfx_display_d3d10_blend_begin(void *data)
{
d3d10_video_t* d3d10 = (d3d10_video_t*)data;
D3D10SetBlendState(d3d10->device,
d3d10->blend_enable, NULL, D3D10_DEFAULT_SAMPLE_MASK);
d3d10->device->lpVtbl->OMSetBlendState(d3d10->device,
d3d10->blend_enable,
NULL, D3D10_DEFAULT_SAMPLE_MASK);
}
static void gfx_display_d3d10_blend_end(void *data)
{
d3d10_video_t* d3d10 = (d3d10_video_t*)data;
D3D10SetBlendState(d3d10->device,
d3d10->blend_disable, NULL, D3D10_DEFAULT_SAMPLE_MASK);
d3d10->device->lpVtbl->OMSetBlendState(d3d10->device,
d3d10->blend_disable,
NULL, D3D10_DEFAULT_SAMPLE_MASK);
}
static void gfx_display_d3d10_draw(gfx_display_ctx_draw_t *draw,
@ -62,10 +64,13 @@ static void gfx_display_d3d10_draw(gfx_display_ctx_draw_t *draw,
d3d10_set_shader(d3d10->device, &d3d10->shaders[draw->pipeline_id]);
d3d10->device->lpVtbl->Draw(d3d10->device, draw->coords->vertices, 0);
D3D10SetBlendState(d3d10->device, d3d10->blend_enable, NULL, D3D10_DEFAULT_SAMPLE_MASK);
d3d10->device->lpVtbl->OMSetBlendState(d3d10->device,
d3d10->blend_enable,
NULL, D3D10_DEFAULT_SAMPLE_MASK);
d3d10_set_shader(d3d10->device, &d3d10->sprites.shader);
D3D10SetVertexBuffer(d3d10->device, 0, d3d10->sprites.vbo, sizeof(d3d10_sprite_t), 0);
D3D10SetPrimitiveTopology(d3d10->device, D3D10_PRIMITIVE_TOPOLOGY_POINTLIST);
d3d10->device->lpVtbl->IASetPrimitiveTopology(d3d10->device,
D3D10_PRIMITIVE_TOPOLOGY_POINTLIST);
return;
default:
break;
@ -84,7 +89,9 @@ static void gfx_display_d3d10_draw(gfx_display_ctx_draw_t *draw,
void* mapped_vbo = NULL;
d3d10_sprite_t* sprite = NULL;
D3D10MapBuffer(d3d10->sprites.vbo, D3D10_MAP_WRITE_NO_OVERWRITE, 0, &mapped_vbo);
d3d10->sprites.vbo->lpVtbl->Map(d3d10->sprites.vbo,
D3D10_MAP_WRITE_NO_OVERWRITE, 0,
(void**)&mapped_vbo);
sprite = (d3d10_sprite_t*)mapped_vbo + d3d10->sprites.offset;
@ -145,10 +152,11 @@ static void gfx_display_d3d10_draw(gfx_display_ctx_draw_t *draw,
}
d3d10_set_shader(d3d10->device, &d3d10->shaders[VIDEO_SHADER_STOCK_BLEND]);
D3D10SetPrimitiveTopology(d3d10->device, D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
d3d10->device->lpVtbl->IASetPrimitiveTopology(d3d10->device,
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
}
D3D10UnmapBuffer(d3d10->sprites.vbo);
d3d10->sprites.vbo->lpVtbl->Unmap(d3d10->sprites.vbo);
}
d3d10_set_texture_and_sampler(d3d10->device, 0, (d3d10_texture_t*)draw->texture);
@ -159,7 +167,8 @@ static void gfx_display_d3d10_draw(gfx_display_ctx_draw_t *draw,
if (vertex_count > 1)
{
d3d10_set_shader(d3d10->device, &d3d10->sprites.shader);
D3D10SetPrimitiveTopology(d3d10->device, D3D10_PRIMITIVE_TOPOLOGY_POINTLIST);
d3d10->device->lpVtbl->IASetPrimitiveTopology(d3d10->device,
D3D10_PRIMITIVE_TOPOLOGY_POINTLIST);
}
return;
@ -195,12 +204,14 @@ static void gfx_display_d3d10_draw_pipeline(gfx_display_ctx_draw_t* draw,
vertex_data.pSysMem = ca->coords.vertex;
vertex_data.SysMemPitch = 0;
vertex_data.SysMemSlicePitch = 0;
D3D10CreateBuffer(d3d10->device, &desc, &vertex_data,
&d3d10->menu_pipeline_vbo);
d3d10->device->lpVtbl->CreateBuffer(d3d10->device, &desc,
&vertex_data, &d3d10->menu_pipeline_vbo);
}
D3D10SetVertexBuffer(d3d10->device, 0, d3d10->menu_pipeline_vbo, 2 * sizeof(float), 0);
draw->coords->vertices = ca->coords.vertices;
D3D10SetBlendState(d3d10->device, d3d10->blend_pipeline, NULL, D3D10_DEFAULT_SAMPLE_MASK);
d3d10->device->lpVtbl->OMSetBlendState(d3d10->device,
d3d10->blend_pipeline,
NULL, D3D10_DEFAULT_SAMPLE_MASK);
break;
}
@ -215,15 +226,17 @@ static void gfx_display_d3d10_draw_pipeline(gfx_display_ctx_draw_t* draw,
return;
}
D3D10SetPrimitiveTopology(d3d10->device, D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
d3d10->device->lpVtbl->IASetPrimitiveTopology(d3d10->device,
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
d3d10->ubo_values.time += 0.01f;
{
void *mapped_ubo = NULL;
D3D10MapBuffer(d3d10->ubo, D3D10_MAP_WRITE_DISCARD, 0, (void**)&mapped_ubo);
d3d10->ubo->lpVtbl->Map(d3d10->ubo, D3D10_MAP_WRITE_DISCARD, 0,
(void**)&mapped_ubo);
*(d3d10_uniform_t*)mapped_ubo = d3d10->ubo_values;
D3D10UnmapBuffer(d3d10->ubo);
d3d10->ubo->lpVtbl->Unmap(d3d10->ubo);
}
}
@ -259,7 +272,7 @@ void gfx_display_d3d10_scissor_begin(void *data,
rect.right = width + x;
rect.bottom = height + y;
D3D10SetScissorRects(d3d10->device, 1, &rect);
d3d10->device->lpVtbl->RSSetScissorRects(d3d10->device, 1, &rect);
}
void gfx_display_d3d10_scissor_end(void *data,
@ -276,7 +289,7 @@ void gfx_display_d3d10_scissor_end(void *data,
rect.right = video_width;
rect.bottom = video_height;
D3D10SetScissorRects(d3d10->device, 1, &rect);
d3d10->device->lpVtbl->RSSetScissorRects(d3d10->device, 1, &rect);
}
gfx_display_ctx_driver_t gfx_display_ctx_d3d10 = {

View File

@ -158,7 +158,8 @@ static void d3d10_font_render_line(
break;
}
D3D10MapBuffer(d3d10->sprites.vbo, D3D10_MAP_WRITE_NO_OVERWRITE, 0, (void**)&mapped_vbo);
d3d10->sprites.vbo->lpVtbl->Map(d3d10->sprites.vbo,
D3D10_MAP_WRITE_NO_OVERWRITE, 0, (void**)&mapped_vbo);
v = (d3d10_sprite_t*)mapped_vbo + d3d10->sprites.offset;
glyph_q = font->font_driver->get_glyph(font->font_data, '?');
@ -203,7 +204,7 @@ static void d3d10_font_render_line(
}
count = v - ((d3d10_sprite_t*)mapped_vbo + d3d10->sprites.offset);
D3D10UnmapBuffer(d3d10->sprites.vbo);
d3d10->sprites.vbo->lpVtbl->Unmap(d3d10->sprites.vbo);
if (!count)
return;
@ -219,7 +220,9 @@ static void d3d10_font_render_line(
}
d3d10_set_texture_and_sampler(d3d10->device, 0, &font->texture);
D3D10SetBlendState(d3d10->device, d3d10->blend_enable, NULL, D3D10_DEFAULT_SAMPLE_MASK);
d3d10->device->lpVtbl->OMSetBlendState(d3d10->device,
d3d10->blend_enable,
NULL, D3D10_DEFAULT_SAMPLE_MASK);
d3d10->device->lpVtbl->PSSetShader(d3d10->device, d3d10->sprites.shader_font.ps);
d3d10->device->lpVtbl->Draw(d3d10->device, count, d3d10->sprites.offset);