[Mesa-dev] [PATCH 44/84] st/nine: Add struct nine_clipplane

Axel Davy axel.davy at ens.fr
Wed Dec 7 22:55:17 UTC 2016


From: Patrick Rudolph <siro at das-labor.org>

Required to know the size exact size of the plane.

Signed-off-by: Patrick Rudolph <siro at das-labor.org>
---
 src/gallium/state_trackers/nine/device9.c    | 2 +-
 src/gallium/state_trackers/nine/nine_state.c | 4 ++--
 src/gallium/state_trackers/nine/nine_state.h | 5 ++++-
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/gallium/state_trackers/nine/device9.c b/src/gallium/state_trackers/nine/device9.c
index 884fe29..b959793 100644
--- a/src/gallium/state_trackers/nine/device9.c
+++ b/src/gallium/state_trackers/nine/device9.c
@@ -2188,7 +2188,7 @@ NineDevice9_SetClipPlane( struct NineDevice9 *This,
     if (unlikely(This->is_recording))
         state->changed.ucp |= 1 << Index;
     else
-        nine_context_set_clip_plane(This, Index, pPlane);
+        nine_context_set_clip_plane(This, Index, (struct nine_clipplane *)pPlane);
 
     return D3D_OK;
 }
diff --git a/src/gallium/state_trackers/nine/nine_state.c b/src/gallium/state_trackers/nine/nine_state.c
index 8c8d4f0..9bc6f81 100644
--- a/src/gallium/state_trackers/nine/nine_state.c
+++ b/src/gallium/state_trackers/nine/nine_state.c
@@ -1675,7 +1675,7 @@ nine_context_set_texture_stage_state(struct NineDevice9 *device,
 void
 nine_context_set_clip_plane(struct NineDevice9 *device,
                             DWORD Index,
-                            const float *pPlane)
+                            struct nine_clipplane *pPlane)
 {
     struct nine_context *context = &device->context;
 
@@ -2051,7 +2051,7 @@ nine_context_apply_stateblock(struct NineDevice9 *device,
     if (src->changed.ucp)
         for (i = 0; i < PIPE_MAX_CLIP_PLANES; ++i)
             if (src->changed.ucp & (1 << i))
-                nine_context_set_clip_plane(device, i, &src->clip.ucp[i][0]);
+                nine_context_set_clip_plane(device, i, (struct nine_clipplane*)&src->clip.ucp[i][0]);
 
     if (!(src->changed.group & NINE_STATE_FF))
         return;
diff --git a/src/gallium/state_trackers/nine/nine_state.h b/src/gallium/state_trackers/nine/nine_state.h
index d5cbbd4..9e863bc 100644
--- a/src/gallium/state_trackers/nine/nine_state.h
+++ b/src/gallium/state_trackers/nine/nine_state.h
@@ -323,6 +323,9 @@ struct nine_state_sw_internal {
     struct pipe_transfer *transfers_so[4];
 };
 
+struct nine_clipplane {
+    float plane[4];
+};
 /* map D3DRS -> NINE_STATE_x
  */
 extern const uint32_t nine_render_state_group[NINED3DRS_COUNT];
@@ -459,7 +462,7 @@ nine_context_set_depth_stencil(struct NineDevice9 *device,
 void
 nine_context_set_clip_plane(struct NineDevice9 *device,
                             DWORD Index,
-                            const float *pPlane);
+                            struct nine_clipplane *pPlane);
 
 void
 nine_context_set_swvp(struct NineDevice9 *device,
-- 
2.10.2



More information about the mesa-dev mailing list