mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-29 03:00:23 +01:00
Tweaks to state emit, acheives first hw triangles from a pipe driver.
This commit is contained in:
parent
c046174eb0
commit
93b6e8aeac
4 changed files with 20 additions and 9 deletions
|
|
@ -12,6 +12,7 @@ DRIVER_SOURCES = \
|
|||
i915_context.c \
|
||||
i915_context.c \
|
||||
i915_debug.c \
|
||||
i915_debug_fp.c \
|
||||
i915_regions.c \
|
||||
i915_state.c \
|
||||
i915_state_derived.c \
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
#define ADVANCE_BATCH()
|
||||
|
||||
#define FLUSH_BATCH() do { \
|
||||
/* i915_dump_batchbuffer( i915, i915->batch_start, BEGIN_BATCH(0, 0) ); */ \
|
||||
i915_dump_batchbuffer( i915, i915->batch_start, BEGIN_BATCH(0, 0) ); \
|
||||
i915->winsys->batch_flush( i915->winsys ); \
|
||||
i915->batch_start = BEGIN_BATCH(0, 0); \
|
||||
} while (0)
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ i915_emit_hardware_state(struct i915_context *i915 )
|
|||
/* Need to initialize this to zero.
|
||||
*/
|
||||
{
|
||||
OUT_BATCH(_3DSTATE_LOAD_STATE_IMMEDIATE_1 | I1_LOAD_S(3) | (1));
|
||||
OUT_BATCH(_3DSTATE_LOAD_STATE_IMMEDIATE_1 | I1_LOAD_S(3) | (0));
|
||||
OUT_BATCH(0);
|
||||
}
|
||||
|
||||
|
|
@ -138,6 +138,7 @@ i915_emit_hardware_state(struct i915_context *i915 )
|
|||
{
|
||||
/* Don't support twosided stencil yet */
|
||||
OUT_BATCH(_3DSTATE_BACKFACE_STENCIL_OPS | BFO_ENABLE_STENCIL_TWO_SIDE | 0);
|
||||
OUT_BATCH(0);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -150,11 +151,10 @@ i915_emit_hardware_state(struct i915_context *i915 )
|
|||
I1_LOAD_S(6) |
|
||||
(3));
|
||||
|
||||
OUT_BATCH(0);
|
||||
OUT_BATCH(S4_VFMT_XYZ | S4_VFMT_COLOR);
|
||||
OUT_BATCH(0);
|
||||
OUT_BATCH(S6_COLOR_WRITE_ENABLE |
|
||||
(2 << S6_TRISTRIP_PV_SHIFT));
|
||||
OUT_BATCH(0xffffffff);
|
||||
OUT_BATCH(0x00902440); // OUT_BATCH(S4_VFMT_XYZ | S4_VFMT_COLOR);
|
||||
OUT_BATCH(0x00000002);
|
||||
OUT_BATCH(0x00020216); // OUT_BATCH( S6_COLOR_WRITE_ENABLE | (2 << S6_TRISTRIP_PV_SHIFT));
|
||||
}
|
||||
|
||||
{
|
||||
|
|
@ -167,7 +167,7 @@ i915_emit_hardware_state(struct i915_context *i915 )
|
|||
STENCIL_WRITE_MASK(0xff));
|
||||
}
|
||||
|
||||
{
|
||||
if (0) {
|
||||
OUT_BATCH(_3DSTATE_INDEPENDENT_ALPHA_BLEND_CMD |
|
||||
IAB_MODIFY_ENABLE |
|
||||
IAB_MODIFY_FUNC |
|
||||
|
|
@ -175,6 +175,16 @@ i915_emit_hardware_state(struct i915_context *i915 )
|
|||
IAB_MODIFY_DST_FACTOR);
|
||||
}
|
||||
|
||||
{
|
||||
//3DSTATE_INDEPENDENT_ALPHA_BLEND (1 dwords):
|
||||
OUT_BATCH(0x6ba008a1);
|
||||
|
||||
//3DSTATE_CONSTANT_BLEND_COLOR (2 dwords):
|
||||
OUT_BATCH(0x7d880000);
|
||||
OUT_BATCH(0x00000000);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (i915->framebuffer.cbufs[0]) {
|
||||
struct pipe_region *cbuf_region = i915->framebuffer.cbufs[0]->region;
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ static unsigned passthrough[] =
|
|||
A0_DEST_CHANNEL_ALL |
|
||||
(REG_TYPE_T << A0_SRC0_TYPE_SHIFT) |
|
||||
(T_DIFFUSE << A0_SRC0_NR_SHIFT)),
|
||||
0,
|
||||
0x01230000, /* .xyzw */
|
||||
0
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue