diff --git a/gfx/d3d/render_chain_cg.cpp b/gfx/d3d/render_chain_cg.cpp
index 8eb1e3e2c5..7e954e0923 100644
--- a/gfx/d3d/render_chain_cg.cpp
+++ b/gfx/d3d/render_chain_cg.cpp
@@ -1488,14 +1488,14 @@ static bool cg_d3d9_renderchain_render(
    return true;
 }
 
-static void cg_d3d9_renderchain_set_font_rect(void *data,
-      const struct font_params *params)
+static void cg_d3d9_renderchain_set_font_rect(void *data, const void *font_data)
 {
-   settings_t *settings           = config_get_ptr();
-   d3d_video_t *d3d               = (d3d_video_t*)data;
-   float pos_x                    = settings->video.msg_pos_x;
-   float pos_y                    = settings->video.msg_pos_y;
-   float font_size                = settings->video.font_size;
+   settings_t *settings             = config_get_ptr();
+   d3d_video_t *d3d                 = (d3d_video_t*)data;
+   float pos_x                      = settings->video.msg_pos_x;
+   float pos_y                      = settings->video.msg_pos_y;
+   float font_size                  = settings->video.font_size;
+   const struct font_params *params = (const struct font_params*)font_data;
 
    if (params)
    {
diff --git a/gfx/d3d/render_chain_driver.h b/gfx/d3d/render_chain_driver.h
index b8c609e349..836f335871 100644
--- a/gfx/d3d/render_chain_driver.h
+++ b/gfx/d3d/render_chain_driver.h
@@ -67,7 +67,7 @@ typedef struct renderchain_driver
          unsigned *out_width, unsigned *out_height,
          unsigned width, unsigned height,
          void *final_viewport);
-   void (*set_font_rect)(void *data, const struct font_params *params);
+   void (*set_font_rect)(void *data, const void *param_data);
    bool (*read_viewport)(void *data, uint8_t *buffer);
    void (*viewport_info)(void *data, struct video_viewport *vp);
    const char *ident;