st/nine: Add struct nine_clipplane
Required to know the size exact size of the plane.
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
diff --git a/src/gallium/state_trackers/nine/device9.c b/src/gallium/state_trackers/nine/device9.c
index 8493e70..8f5f117 100644
--- a/src/gallium/state_trackers/nine/device9.c
+++ b/src/gallium/state_trackers/nine/device9.c
@@ -2188,7 +2188,7 @@
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 6b4c77c..d18435f 100644
--- a/src/gallium/state_trackers/nine/nine_state.c
+++ b/src/gallium/state_trackers/nine/nine_state.c
@@ -1676,7 +1676,7 @@
void
nine_context_set_clip_plane(struct NineDevice9 *device,
DWORD Index,
- const float *pPlane)
+ struct nine_clipplane *pPlane)
{
struct nine_context *context = &device->context;
@@ -2052,7 +2052,7 @@
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 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 @@
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,