diff --git a/gfx/drivers/d3d.c b/gfx/drivers/d3d.c index 260fd7f0a5..0426a53dae 100644 --- a/gfx/drivers/d3d.c +++ b/gfx/drivers/d3d.c @@ -775,7 +775,6 @@ static void d3d_set_viewport(void *data, bool force_full, bool allow_rotate) { - D3DMATRIX proj, ortho, rot, matrix; D3DVIEWPORT viewport; int x = 0; int y = 0; @@ -801,12 +800,6 @@ static void d3d_set_viewport(void *data, if (d3d->renderchain_driver && d3d->renderchain_driver->set_font_rect) d3d->renderchain_driver->set_font_rect(d3d, NULL); - - d3d_matrix_ortho_off_center_lh(&ortho, 0, 1, 0, 1, 0.0f, 1.0f); - d3d_matrix_identity(&rot); - d3d_matrix_rotation_z(&rot, d3d->dev_rotation * (M_PI / 2.0)); - d3d_matrix_multiply(&proj, &ortho, &rot); - d3d_matrix_transpose(&d3d->mvp, &matrix); } static bool d3d_initialize(d3d_video_t *d3d, const video_info_t *info) @@ -1163,15 +1156,15 @@ static bool d3d_init_internal(d3d_video_t *d3d, return true; } -static void d3d_set_rotation(void *data, unsigned val) +static void d3d_set_rotation(void *data, unsigned rot) { d3d_video_t *d3d = (d3d_video_t*)data; + struct video_ortho ortho = {0, 1, 0, 1, -1, 1}; if (!d3d) return; - d3d->dev_rotation = val; - d3d->should_resize = true; + d3d->dev_rotation = rot; } static void d3d_show_mouse(void *data, bool state) @@ -1514,7 +1507,6 @@ static bool d3d_frame(void *data, const void *frame, d3d_clear(d3d->dev, 0, 0, D3DCLEAR_TARGET, 0, 1, 0); } - if (!d3d->renderchain_driver->render( d3d, frame, frame_width, frame_height, @@ -1722,9 +1714,6 @@ static void video_texture_load_d3d(d3d_video_t *d3d, unsigned usage = 0; bool want_mipmap = false; - if (!d3d || !ti || ti->width == 0 || ti->height == 0) - return; - #ifndef HAVE_D3D8 if((filter_type == TEXTURE_FILTER_MIPMAP_LINEAR) || (filter_type == TEXTURE_FILTER_MIPMAP_NEAREST)) diff --git a/gfx/drivers_renderchain/d3d8_renderchain.c b/gfx/drivers_renderchain/d3d8_renderchain.c index 32098122c3..c3614a8d9e 100644 --- a/gfx/drivers_renderchain/d3d8_renderchain.c +++ b/gfx/drivers_renderchain/d3d8_renderchain.c @@ -119,7 +119,7 @@ static void d3d8_renderchain_set_vertices(void *data, unsigned pass, tex_w = vert_width; tex_h = vert_height; - vert[0].x = 0.0f; + vert[0].x = -1.0f; vert[0].y = 1.0f; vert[0].z = 1.0f; @@ -128,12 +128,12 @@ static void d3d8_renderchain_set_vertices(void *data, unsigned pass, vert[1].y = 1.0f; vert[1].z = 1.0f; - vert[2].x = 0.0f; - vert[2].y = 0.0f; + vert[2].x = -1.0f; + vert[2].y = -1.0f; vert[2].z = 1.0f; vert[3].x = 1.0f; - vert[3].y = 0.0f; + vert[3].y = -1.0f; vert[3].z = 1.0f; vert[0].u = 0.0f; @@ -287,7 +287,7 @@ static void d3d8_renderchain_render_pass( d3d_set_viewports(chain->dev, &d3d->final_viewport); d3d_set_vertex_shader(d3dr, D3DFVF_CUSTOMVERTEX, NULL); d3d_set_stream_source(d3dr, 0, chain->vertex_buf, 0, sizeof(Vertex)); - d3d8_renderchain_set_mvp(d3d, chain, NULL, &d3d->mvp); + d3d8_renderchain_set_mvp(d3d, chain, NULL, NULL); d3d_draw_primitive(d3dr, D3DPT_TRIANGLESTRIP, 0, 2); }