projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
i915: Use the new draw vbuf interface
[mesa.git]
/
src
/
gallium
/
drivers
/
i915simple
/
i915_state_emit.c
diff --git
a/src/gallium/drivers/i915simple/i915_state_emit.c
b/src/gallium/drivers/i915simple/i915_state_emit.c
index 9bd6f92323d09129b85ff8f53c024159881e2a2d..6558cf1c3e5bb90a5afa2f9c9375d346e88d9927 100644
(file)
--- a/
src/gallium/drivers/i915simple/i915_state_emit.c
+++ b/
src/gallium/drivers/i915simple/i915_state_emit.c
@@
-213,18
+213,22
@@
i915_emit_hardware_state(struct i915_context *i915 )
if (cbuf_surface) {
unsigned cpitch = cbuf_surface->stride;
unsigned ctile = BUF_3D_USE_FENCE;
if (cbuf_surface) {
unsigned cpitch = cbuf_surface->stride;
unsigned ctile = BUF_3D_USE_FENCE;
- if (cbuf_surface->texture &&
- ((struct i915_texture*)(cbuf_surface->texture))->tiled) {
+ struct i915_texture *tex = (struct i915_texture *)
+ cbuf_surface->texture;
+ struct pipe_buffer *buffer = tex->buffer;
+ assert(tex);
+
+ if (tex && tex->tiled) {
ctile = BUF_3D_TILED_SURFACE;
}
OUT_BATCH(_3DSTATE_BUF_INFO_CMD);
ctile = BUF_3D_TILED_SURFACE;
}
OUT_BATCH(_3DSTATE_BUF_INFO_CMD);
- OUT_BATCH(BUF_3D_ID_COLOR_BACK |
+ OUT_BATCH(BUF_3D_ID_COLOR_BACK |
BUF_3D_PITCH(cpitch) | /* pitch in bytes */
ctile);
BUF_3D_PITCH(cpitch) | /* pitch in bytes */
ctile);
- OUT_RELOC(
cbuf_surface
->buffer,
+ OUT_RELOC(
tex
->buffer,
I915_BUFFER_ACCESS_WRITE,
cbuf_surface->offset);
}
I915_BUFFER_ACCESS_WRITE,
cbuf_surface->offset);
}
@@
-234,8
+238,12
@@
i915_emit_hardware_state(struct i915_context *i915 )
if (depth_surface) {
unsigned zpitch = depth_surface->stride;
unsigned ztile = BUF_3D_USE_FENCE;
if (depth_surface) {
unsigned zpitch = depth_surface->stride;
unsigned ztile = BUF_3D_USE_FENCE;
- if (depth_surface->texture &&
- ((struct i915_texture*)(depth_surface->texture))->tiled) {
+ struct i915_texture *tex = (struct i915_texture *)
+ depth_surface->texture;
+ struct pipe_buffer *buffer = tex->buffer;
+ assert(tex);
+
+ if (tex && tex->tiled) {
ztile = BUF_3D_TILED_SURFACE;
}
ztile = BUF_3D_TILED_SURFACE;
}
@@
-245,7
+253,7
@@
i915_emit_hardware_state(struct i915_context *i915 )
BUF_3D_PITCH(zpitch) | /* pitch in bytes */
ztile);
BUF_3D_PITCH(zpitch) | /* pitch in bytes */
ztile);
- OUT_RELOC(
depth_surface
->buffer,
+ OUT_RELOC(
tex
->buffer,
I915_BUFFER_ACCESS_WRITE,
depth_surface->offset);
}
I915_BUFFER_ACCESS_WRITE,
depth_surface->offset);
}