Browse Source

gallium: adapt drivers to pipe_constant_buffer removal

tags/7.8-rc1
Roland Scheidegger 15 years ago
parent
commit
1278507e3b
30 changed files with 96 additions and 96 deletions
  1. 1
    1
      src/gallium/drivers/cell/ppu/cell_context.h
  2. 6
    6
      src/gallium/drivers/cell/ppu/cell_draw_arrays.c
  3. 3
    3
      src/gallium/drivers/cell/ppu/cell_state_emit.c
  4. 2
    2
      src/gallium/drivers/cell/ppu/cell_state_shader.c
  5. 1
    1
      src/gallium/drivers/failover/fo_context.h
  6. 1
    1
      src/gallium/drivers/failover/fo_state.c
  7. 2
    1
      src/gallium/drivers/i915/i915_context.h
  8. 6
    6
      src/gallium/drivers/i915/i915_state.c
  9. 3
    3
      src/gallium/drivers/i965/brw_pipe_shader.c
  10. 6
    6
      src/gallium/drivers/identity/id_context.c
  11. 2
    2
      src/gallium/drivers/llvmpipe/lp_context.c
  12. 1
    1
      src/gallium/drivers/llvmpipe/lp_context.h
  13. 1
    1
      src/gallium/drivers/llvmpipe/lp_state.h
  14. 4
    5
      src/gallium/drivers/llvmpipe/lp_state_fs.c
  15. 6
    6
      src/gallium/drivers/nv04/nv04_state.c
  16. 6
    6
      src/gallium/drivers/nv10/nv10_state.c
  17. 6
    6
      src/gallium/drivers/nv20/nv20_state.c
  18. 3
    3
      src/gallium/drivers/nv30/nv30_state.c
  19. 3
    3
      src/gallium/drivers/nv40/nv40_state.c
  20. 3
    3
      src/gallium/drivers/nv50/nv50_state.c
  21. 7
    7
      src/gallium/drivers/r300/r300_state.c
  22. 2
    2
      src/gallium/drivers/softpipe/sp_context.c
  23. 1
    1
      src/gallium/drivers/softpipe/sp_context.h
  24. 6
    6
      src/gallium/drivers/softpipe/sp_draw_arrays.c
  25. 1
    1
      src/gallium/drivers/softpipe/sp_state.h
  26. 2
    3
      src/gallium/drivers/softpipe/sp_state_fs.c
  27. 2
    2
      src/gallium/drivers/svga/svga_pipe_constants.c
  28. 6
    5
      src/gallium/drivers/trace/tr_context.c
  29. 2
    2
      src/gallium/drivers/trace/tr_dump_state.c
  30. 1
    1
      src/gallium/drivers/trace/tr_dump_state.h

+ 1
- 1
src/gallium/drivers/cell/ppu/cell_context.h View File

@@ -115,7 +115,7 @@ struct cell_context

struct pipe_blend_color blend_color;
struct pipe_clip_state clip;
struct pipe_constant_buffer constants[2];
struct pipe_buffer *constants[2];
struct pipe_framebuffer_state framebuffer;
struct pipe_poly_stipple poly_stipple;
struct pipe_scissor_state scissor;

+ 6
- 6
src/gallium/drivers/cell/ppu/cell_draw_arrays.c View File

@@ -51,17 +51,17 @@ cell_map_constant_buffers(struct cell_context *sp)
struct pipe_winsys *ws = sp->pipe.winsys;
uint i;
for (i = 0; i < 2; i++) {
if (sp->constants[i].buffer && sp->constants[i].buffer->size) {
sp->mapped_constants[i] = ws->buffer_map(ws, sp->constants[i].buffer,
if (sp->constants[i] && sp->constants[i]->size) {
sp->mapped_constants[i] = ws->buffer_map(ws, sp->constants[i],
PIPE_BUFFER_USAGE_CPU_READ);
cell_flush_buffer_range(sp, sp->mapped_constants[i],
sp->constants[i].buffer->size);
sp->constants[i]->size);
}
}

draw_set_mapped_constant_buffer(sp->draw,
sp->mapped_constants[PIPE_SHADER_VERTEX],
sp->constants[PIPE_SHADER_VERTEX].buffer->size);
sp->constants[PIPE_SHADER_VERTEX]->size);
}

static void
@@ -70,8 +70,8 @@ cell_unmap_constant_buffers(struct cell_context *sp)
struct pipe_winsys *ws = sp->pipe.winsys;
uint i;
for (i = 0; i < 2; i++) {
if (sp->constants[i].buffer && sp->constants[i].buffer->size)
ws->buffer_unmap(ws, sp->constants[i].buffer);
if (sp->constants[i] && sp->constants[i]->size)
ws->buffer_unmap(ws, sp->constants[i]);
sp->mapped_constants[i] = NULL;
}
}

+ 3
- 3
src/gallium/drivers/cell/ppu/cell_state_emit.c View File

@@ -240,12 +240,12 @@ cell_emit_state(struct cell_context *cell)

if (cell->dirty & (CELL_NEW_FS_CONSTANTS)) {
const uint shader = PIPE_SHADER_FRAGMENT;
const uint num_const = cell->constants[shader].buffer->size / sizeof(float);
const uint num_const = cell->constants[shader]->size / sizeof(float);
uint i, j;
float *buf = cell_batch_alloc16(cell, ROUNDUP16(32 + num_const * sizeof(float)));
uint32_t *ibuf = (uint32_t *) buf;
const float *constants = pipe_buffer_map(cell->pipe.screen,
cell->constants[shader].buffer,
cell->constants[shader],
PIPE_BUFFER_USAGE_CPU_READ);
ibuf[0] = CELL_CMD_STATE_FS_CONSTANTS;
ibuf[4] = num_const;
@@ -253,7 +253,7 @@ cell_emit_state(struct cell_context *cell)
for (i = 0; i < num_const; i++) {
buf[j++] = constants[i];
}
pipe_buffer_unmap(cell->pipe.screen, cell->constants[shader].buffer);
pipe_buffer_unmap(cell->pipe.screen, cell->constants[shader]);
}

if (cell->dirty & (CELL_NEW_FRAMEBUFFER |

+ 2
- 2
src/gallium/drivers/cell/ppu/cell_state_shader.c View File

@@ -183,7 +183,7 @@ cell_delete_vs_state(struct pipe_context *pipe, void *vs)
static void
cell_set_constant_buffer(struct pipe_context *pipe,
uint shader, uint index,
const struct pipe_constant_buffer *buf)
const struct pipe_buffer *buf)
{
struct cell_context *cell = cell_context(pipe);

@@ -193,7 +193,7 @@ cell_set_constant_buffer(struct pipe_context *pipe,
draw_flush(cell->draw);

/* note: reference counting */
pipe_buffer_reference(&cell->constants[shader].buffer, buf->buffer);
pipe_buffer_reference(&cell->constants[shader], buf);

if (shader == PIPE_SHADER_VERTEX)
cell->dirty |= CELL_NEW_VS_CONSTANTS;

+ 1
- 1
src/gallium/drivers/failover/fo_context.h View File

@@ -125,7 +125,7 @@ failover_context( struct pipe_context *pipe )
void
failover_set_constant_buffer(struct pipe_context *pipe,
uint shader, uint index,
const struct pipe_constant_buffer *buf);
const struct pipe_buffer *buf);


#endif /* FO_CONTEXT_H */

+ 1
- 1
src/gallium/drivers/failover/fo_state.c View File

@@ -495,7 +495,7 @@ failover_set_vertex_elements(struct pipe_context *pipe,
void
failover_set_constant_buffer(struct pipe_context *pipe,
uint shader, uint index,
const struct pipe_constant_buffer *buf)
const struct pipe_buffer *buf)
{
struct failover_context *failover = failover_context(pipe);


+ 2
- 1
src/gallium/drivers/i915/i915_context.h View File

@@ -233,7 +233,8 @@ struct i915_context

struct pipe_blend_color blend_color;
struct pipe_clip_state clip;
struct pipe_constant_buffer constants[PIPE_SHADER_TYPES];
/* XXX unneded */
struct pipe_buffer *constants[PIPE_SHADER_TYPES];
struct pipe_framebuffer_state framebuffer;
struct pipe_poly_stipple poly_stipple;
struct pipe_scissor_state scissor;

+ 6
- 6
src/gallium/drivers/i915/i915_state.c View File

@@ -517,7 +517,7 @@ static void i915_delete_vs_state(struct pipe_context *pipe, void *shader)

static void i915_set_constant_buffer(struct pipe_context *pipe,
uint shader, uint index,
const struct pipe_constant_buffer *buf)
const struct pipe_buffer *buf)
{
struct i915_context *i915 = i915_context(pipe);
struct pipe_screen *screen = pipe->screen;
@@ -537,13 +537,13 @@ static void i915_set_constant_buffer(struct pipe_context *pipe,
*/
if (buf) {
void *mapped;
if (buf->buffer && buf->buffer->size &&
(mapped = pipe_buffer_map(screen, buf->buffer,
if (buf->size &&
(mapped = pipe_buffer_map(screen, buf,
PIPE_BUFFER_USAGE_CPU_READ))) {
memcpy(i915->current.constants[shader], mapped, buf->buffer->size);
pipe_buffer_unmap(screen, buf->buffer);
memcpy(i915->current.constants[shader], mapped, buf->size);
pipe_buffer_unmap(screen, buf);
i915->current.num_user_constants[shader]
= buf->buffer->size / (4 * sizeof(float));
= buf->size / (4 * sizeof(float));
}
else {
i915->current.num_user_constants[shader] = 0;

+ 3
- 3
src/gallium/drivers/i965/brw_pipe_shader.c View File

@@ -255,7 +255,7 @@ static void brw_delete_vs_state( struct pipe_context *pipe, void *prog )

static void brw_set_constant_buffer(struct pipe_context *pipe,
uint shader, uint index,
const struct pipe_constant_buffer *buf)
const struct pipe_buffer *buf)
{
struct brw_context *brw = brw_context(pipe);

@@ -263,13 +263,13 @@ static void brw_set_constant_buffer(struct pipe_context *pipe,

if (shader == PIPE_SHADER_FRAGMENT) {
pipe_buffer_reference( &brw->curr.fragment_constants,
buf->buffer );
buf );

brw->state.dirty.mesa |= PIPE_NEW_FRAGMENT_CONSTANTS;
}
else {
pipe_buffer_reference( &brw->curr.vertex_constants,
buf->buffer );
buf );

brw->state.dirty.mesa |= PIPE_NEW_VERTEX_CONSTANTS;
}

+ 6
- 6
src/gallium/drivers/identity/id_context.c View File

@@ -404,17 +404,17 @@ static void
identity_set_constant_buffer(struct pipe_context *_pipe,
uint shader,
uint index,
const struct pipe_constant_buffer *_buffer)
const struct pipe_buffer *_buffer)
{
struct identity_context *id_pipe = identity_context(_pipe);
struct pipe_context *pipe = id_pipe->pipe;
struct pipe_constant_buffer unwrapped_buffer;
struct pipe_constant_buffer *buffer = NULL;
struct pipe_buffer *unwrapped_buffer;
struct pipe_buffer *buffer = NULL;

/* unwrap the input state */
/* XXX hmm? unwrap the input state */
if (_buffer) {
unwrapped_buffer.buffer = identity_buffer_unwrap(_buffer->buffer);
buffer = &unwrapped_buffer;
unwrapped_buffer = identity_buffer_unwrap(_buffer);
buffer = unwrapped_buffer;
}

pipe->set_constant_buffer(pipe,

+ 2
- 2
src/gallium/drivers/llvmpipe/lp_context.c View File

@@ -124,8 +124,8 @@ static void llvmpipe_destroy( struct pipe_context *pipe )
}

for (i = 0; i < Elements(llvmpipe->constants); i++) {
if (llvmpipe->constants[i].buffer) {
pipe_buffer_reference(&llvmpipe->constants[i].buffer, NULL);
if (llvmpipe->constants[i]) {
pipe_buffer_reference(&llvmpipe->constants[i], NULL);
}
}


+ 1
- 1
src/gallium/drivers/llvmpipe/lp_context.h View File

@@ -64,7 +64,7 @@ struct llvmpipe_context {
/** Other rendering state */
struct pipe_blend_color blend_color[4][16];
struct pipe_clip_state clip;
struct pipe_constant_buffer constants[PIPE_SHADER_TYPES];
struct pipe_buffer *constants[PIPE_SHADER_TYPES];
struct pipe_framebuffer_state framebuffer;
struct pipe_poly_stipple poly_stipple;
struct pipe_scissor_state scissor;

+ 1
- 1
src/gallium/drivers/llvmpipe/lp_state.h View File

@@ -155,7 +155,7 @@ void llvmpipe_set_clip_state( struct pipe_context *,

void llvmpipe_set_constant_buffer(struct pipe_context *,
uint shader, uint index,
const struct pipe_constant_buffer *buf);
const struct pipe_buffer *buf);

void *llvmpipe_create_fs_state(struct pipe_context *,
const struct pipe_shader_state *);

+ 4
- 5
src/gallium/drivers/llvmpipe/lp_state_fs.c View File

@@ -713,12 +713,11 @@ llvmpipe_delete_fs_state(struct pipe_context *pipe, void *fs)
void
llvmpipe_set_constant_buffer(struct pipe_context *pipe,
uint shader, uint index,
const struct pipe_constant_buffer *constants)
const struct pipe_buffer *constants)
{
struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
struct pipe_buffer *buffer = constants ? constants->buffer : NULL;
unsigned size = buffer ? buffer->size : 0;
const void *data = buffer ? llvmpipe_buffer(buffer)->data : NULL;
unsigned size = constants ? constants->size : 0;
const void *data = constants ? llvmpipe_buffer(constants)->data : NULL;

assert(shader < PIPE_SHADER_TYPES);
assert(index == 0);
@@ -727,7 +726,7 @@ llvmpipe_set_constant_buffer(struct pipe_context *pipe,
draw_flush(llvmpipe->draw);

/* note: reference counting */
pipe_buffer_reference(&llvmpipe->constants[shader].buffer, buffer);
pipe_buffer_reference(&llvmpipe->constants[shader], constants);

if(shader == PIPE_SHADER_FRAGMENT) {
llvmpipe->jit_context.constants = data;

+ 6
- 6
src/gallium/drivers/nv04/nv04_state.c View File

@@ -332,7 +332,7 @@ nv04_set_clip_state(struct pipe_context *pipe,

static void
nv04_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,
const struct pipe_constant_buffer *buf )
const struct pipe_buffer *buf )
{
struct nv04_context *nv04 = nv04_context(pipe);
struct pipe_screen *pscreen = pipe->screen;
@@ -342,13 +342,13 @@ nv04_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,

if (buf) {
void *mapped;
if (buf->buffer && buf->buffer->size &&
(mapped = pipe_buffer_map(pscreen, buf->buffer, PIPE_BUFFER_USAGE_CPU_READ)))
if (buf && buf->size &&
(mapped = pipe_buffer_map(pscreen, buf, PIPE_BUFFER_USAGE_CPU_READ)))
{
memcpy(nv04->constbuf[shader], mapped, buf->buffer->size);
memcpy(nv04->constbuf[shader], mapped, buf->size);
nv04->constbuf_nr[shader] =
buf->buffer->size / (4 * sizeof(float));
pipe_buffer_unmap(pscreen, buf->buffer);
buf->size / (4 * sizeof(float));
pipe_buffer_unmap(pscreen, buf);
}
}
}

+ 6
- 6
src/gallium/drivers/nv10/nv10_state.c View File

@@ -458,7 +458,7 @@ nv10_set_clip_state(struct pipe_context *pipe,

static void
nv10_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,
const struct pipe_constant_buffer *buf )
const struct pipe_buffer *buf )
{
struct nv10_context *nv10 = nv10_context(pipe);
struct pipe_screen *pscreen = pipe->screen;
@@ -468,13 +468,13 @@ nv10_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,

if (buf) {
void *mapped;
if (buf->buffer && buf->buffer->size &&
(mapped = pipe_buffer_map(pscreen, buf->buffer, PIPE_BUFFER_USAGE_CPU_READ)))
if (buf->size &&
(mapped = pipe_buffer_map(pscreen, buf, PIPE_BUFFER_USAGE_CPU_READ)))
{
memcpy(nv10->constbuf[shader], mapped, buf->buffer->size);
memcpy(nv10->constbuf[shader], mapped, buf->size);
nv10->constbuf_nr[shader] =
buf->buffer->size / (4 * sizeof(float));
pipe_buffer_unmap(pscreen, buf->buffer);
buf->size / (4 * sizeof(float));
pipe_buffer_unmap(pscreen, buf);
}
}
}

+ 6
- 6
src/gallium/drivers/nv20/nv20_state.c View File

@@ -451,7 +451,7 @@ nv20_set_clip_state(struct pipe_context *pipe,

static void
nv20_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,
const struct pipe_constant_buffer *buf )
const struct pipe_buffer *buf )
{
struct nv20_context *nv20 = nv20_context(pipe);
struct pipe_screen *pscreen = pipe->screen;
@@ -461,13 +461,13 @@ nv20_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,

if (buf) {
void *mapped;
if (buf->buffer && buf->buffer->size &&
(mapped = pipe_buffer_map(pscreen, buf->buffer, PIPE_BUFFER_USAGE_CPU_READ)))
if (buf->size &&
(mapped = pipe_buffer_map(pscreen, buf, PIPE_BUFFER_USAGE_CPU_READ)))
{
memcpy(nv20->constbuf[shader], mapped, buf->buffer->size);
memcpy(nv20->constbuf[shader], mapped, buf->size);
nv20->constbuf_nr[shader] =
buf->buffer->size / (4 * sizeof(float));
pipe_buffer_unmap(pscreen, buf->buffer);
buf->size / (4 * sizeof(float));
pipe_buffer_unmap(pscreen, buf);
}
}
}

+ 3
- 3
src/gallium/drivers/nv30/nv30_state.c View File

@@ -590,12 +590,12 @@ nv30_set_clip_state(struct pipe_context *pipe,

static void
nv30_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,
const struct pipe_constant_buffer *buf )
const struct pipe_buffer *buf )
{
struct nv30_context *nv30 = nv30_context(pipe);

nv30->constbuf[shader] = buf->buffer;
nv30->constbuf_nr[shader] = buf->buffer->size / (4 * sizeof(float));
nv30->constbuf[shader] = buf;
nv30->constbuf_nr[shader] = buf->size / (4 * sizeof(float));

if (shader == PIPE_SHADER_VERTEX) {
nv30->dirty |= NV30_NEW_VERTPROG;

+ 3
- 3
src/gallium/drivers/nv40/nv40_state.c View File

@@ -605,12 +605,12 @@ nv40_set_clip_state(struct pipe_context *pipe,

static void
nv40_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,
const struct pipe_constant_buffer *buf )
const struct pipe_buffer *buf )
{
struct nv40_context *nv40 = nv40_context(pipe);

nv40->constbuf[shader] = buf->buffer;
nv40->constbuf_nr[shader] = buf->buffer->size / (4 * sizeof(float));
nv40->constbuf[shader] = buf;
nv40->constbuf_nr[shader] = buf->size / (4 * sizeof(float));

if (shader == PIPE_SHADER_VERTEX) {
nv40->dirty |= NV40_NEW_VERTPROG;

+ 3
- 3
src/gallium/drivers/nv50/nv50_state.c View File

@@ -588,16 +588,16 @@ nv50_set_clip_state(struct pipe_context *pipe,

static void
nv50_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,
const struct pipe_constant_buffer *buf )
const struct pipe_buffer *buf )
{
struct nv50_context *nv50 = nv50_context(pipe);

if (shader == PIPE_SHADER_VERTEX) {
nv50->constbuf[PIPE_SHADER_VERTEX] = buf->buffer;
nv50->constbuf[PIPE_SHADER_VERTEX] = buf;
nv50->dirty |= NV50_NEW_VERTPROG_CB;
} else
if (shader == PIPE_SHADER_FRAGMENT) {
nv50->constbuf[PIPE_SHADER_FRAGMENT] = buf->buffer;
nv50->constbuf[PIPE_SHADER_FRAGMENT] = buf;
nv50->dirty |= NV50_NEW_FRAGPROG_CB;
}
}

+ 7
- 7
src/gallium/drivers/r300/r300_state.c View File

@@ -804,22 +804,22 @@ static void r300_delete_vs_state(struct pipe_context* pipe, void* shader)

static void r300_set_constant_buffer(struct pipe_context *pipe,
uint shader, uint index,
const struct pipe_constant_buffer *buf)
const struct pipe_buffer *buf)
{
struct r300_context* r300 = r300_context(pipe);
void *mapped;

if (buf == NULL || buf->buffer->size == 0 ||
(mapped = pipe_buffer_map(pipe->screen, buf->buffer, PIPE_BUFFER_USAGE_CPU_READ)) == NULL)
if (buf == NULL || buf->size == 0 ||
(mapped = pipe_buffer_map(pipe->screen, buf, PIPE_BUFFER_USAGE_CPU_READ)) == NULL)
{
r300->shader_constants[shader].count = 0;
return;
}

assert((buf->buffer->size % 4 * sizeof(float)) == 0);
memcpy(r300->shader_constants[shader].constants, mapped, buf->buffer->size);
r300->shader_constants[shader].count = buf->buffer->size / (4 * sizeof(float));
pipe_buffer_unmap(pipe->screen, buf->buffer);
assert((buf->size % 4 * sizeof(float)) == 0);
memcpy(r300->shader_constants[shader].constants, mapped, buf->size);
r300->shader_constants[shader].count = buf->size / (4 * sizeof(float));
pipe_buffer_unmap(pipe->screen, buf);

if (shader == PIPE_SHADER_VERTEX)
r300->dirty_state |= R300_NEW_VERTEX_SHADER_CONSTANTS;

+ 2
- 2
src/gallium/drivers/softpipe/sp_context.c View File

@@ -113,8 +113,8 @@ softpipe_destroy( struct pipe_context *pipe )
}

for (i = 0; i < Elements(softpipe->constants); i++) {
if (softpipe->constants[i].buffer) {
pipe_buffer_reference(&softpipe->constants[i].buffer, NULL);
if (softpipe->constants[i]) {
pipe_buffer_reference(&softpipe->constants[i], NULL);
}
}


+ 1
- 1
src/gallium/drivers/softpipe/sp_context.h View File

@@ -62,7 +62,7 @@ struct softpipe_context {
/** Other rendering state */
struct pipe_blend_color blend_color;
struct pipe_clip_state clip;
struct pipe_constant_buffer constants[PIPE_SHADER_TYPES];
struct pipe_buffer *constants[PIPE_SHADER_TYPES];
struct pipe_framebuffer_state framebuffer;
struct pipe_poly_stipple poly_stipple;
struct pipe_scissor_state scissor;

+ 6
- 6
src/gallium/drivers/softpipe/sp_draw_arrays.c View File

@@ -51,13 +51,13 @@ softpipe_map_constant_buffers(struct softpipe_context *sp)
uint i, size;

for (i = 0; i < PIPE_SHADER_TYPES; i++) {
if (sp->constants[i].buffer && sp->constants[i].buffer->size)
sp->mapped_constants[i] = ws->buffer_map(ws, sp->constants[i].buffer,
if (sp->constants[i] && sp->constants[i]->size)
sp->mapped_constants[i] = ws->buffer_map(ws, sp->constants[i],
PIPE_BUFFER_USAGE_CPU_READ);
}

if (sp->constants[PIPE_SHADER_VERTEX].buffer)
size = sp->constants[PIPE_SHADER_VERTEX].buffer->size;
if (sp->constants[PIPE_SHADER_VERTEX])
size = sp->constants[PIPE_SHADER_VERTEX]->size;
else
size = 0;

@@ -81,8 +81,8 @@ softpipe_unmap_constant_buffers(struct softpipe_context *sp)
draw_set_mapped_constant_buffer(sp->draw, NULL, 0);

for (i = 0; i < 2; i++) {
if (sp->constants[i].buffer && sp->constants[i].buffer->size)
ws->buffer_unmap(ws, sp->constants[i].buffer);
if (sp->constants[i] && sp->constants[i]->size)
ws->buffer_unmap(ws, sp->constants[i]);
sp->mapped_constants[i] = NULL;
}
}

+ 1
- 1
src/gallium/drivers/softpipe/sp_state.h View File

@@ -133,7 +133,7 @@ void softpipe_set_clip_state( struct pipe_context *,

void softpipe_set_constant_buffer(struct pipe_context *,
uint shader, uint index,
const struct pipe_constant_buffer *buf);
const struct pipe_buffer *buf);

void *softpipe_create_fs_state(struct pipe_context *,
const struct pipe_shader_state *);

+ 2
- 3
src/gallium/drivers/softpipe/sp_state_fs.c View File

@@ -152,7 +152,7 @@ softpipe_delete_vs_state(struct pipe_context *pipe, void *vs)
void
softpipe_set_constant_buffer(struct pipe_context *pipe,
uint shader, uint index,
const struct pipe_constant_buffer *buf)
const struct pipe_buffer *buf)
{
struct softpipe_context *softpipe = softpipe_context(pipe);

@@ -160,8 +160,7 @@ softpipe_set_constant_buffer(struct pipe_context *pipe,
assert(index == 0);

/* note: reference counting */
pipe_buffer_reference(&softpipe->constants[shader].buffer,
buf ? buf->buffer : NULL);
pipe_buffer_reference(&softpipe->constants[shader], buf);

softpipe->dirty |= SP_NEW_CONSTANTS;
}

+ 2
- 2
src/gallium/drivers/svga/svga_pipe_constants.c View File

@@ -49,7 +49,7 @@ struct svga_constbuf

static void svga_set_constant_buffer(struct pipe_context *pipe,
uint shader, uint index,
const struct pipe_constant_buffer *buf)
const struct pipe_buffer *buf)
{
struct svga_context *svga = svga_context(pipe);

@@ -57,7 +57,7 @@ static void svga_set_constant_buffer(struct pipe_context *pipe,
assert(index == 0);

pipe_buffer_reference( &svga->curr.cb[shader],
buf->buffer );
buf );

if (shader == PIPE_SHADER_FRAGMENT)
svga->dirty |= SVGA_NEW_FS_CONST_BUFFER;

+ 6
- 5
src/gallium/drivers/trace/tr_context.c View File

@@ -825,13 +825,13 @@ trace_context_set_clip_state(struct pipe_context *_pipe,
static INLINE void
trace_context_set_constant_buffer(struct pipe_context *_pipe,
uint shader, uint index,
const struct pipe_constant_buffer *buffer)
const struct pipe_buffer *buffer)
{
struct trace_context *tr_ctx = trace_context(_pipe);
struct pipe_context *pipe = tr_ctx->pipe;

if (buffer)
trace_screen_user_buffer_update(_pipe->screen, buffer->buffer);
trace_screen_user_buffer_update(_pipe->screen, buffer);

trace_dump_call_begin("pipe_context", "set_constant_buffer");

@@ -840,10 +840,11 @@ trace_context_set_constant_buffer(struct pipe_context *_pipe,
trace_dump_arg(uint, index);
trace_dump_arg(constant_buffer, buffer);

/* XXX hmm? */
if (buffer) {
struct pipe_constant_buffer _buffer;
_buffer.buffer = trace_buffer_unwrap(tr_ctx, buffer->buffer);
pipe->set_constant_buffer(pipe, shader, index, &_buffer);
struct pipe_buffer *_buffer;
_buffer = trace_buffer_unwrap(tr_ctx, buffer);
pipe->set_constant_buffer(pipe, shader, index, _buffer);
} else {
pipe->set_constant_buffer(pipe, shader, index, buffer);
}

+ 2
- 2
src/gallium/drivers/trace/tr_dump_state.c View File

@@ -229,7 +229,7 @@ void trace_dump_clip_state(const struct pipe_clip_state *state)
}


void trace_dump_constant_buffer(const struct pipe_constant_buffer *state)
void trace_dump_constant_buffer(const struct pipe_buffer *state)
{
if (!trace_dumping_enabled_locked())
return;
@@ -241,7 +241,7 @@ void trace_dump_constant_buffer(const struct pipe_constant_buffer *state)

trace_dump_struct_begin("pipe_constant_buffer");

trace_dump_member(buffer_ptr, state, buffer);
trace_dump_reference(&state->reference);

trace_dump_struct_end();
}

+ 1
- 1
src/gallium/drivers/trace/tr_dump_state.h View File

@@ -47,7 +47,7 @@ void trace_dump_scissor_state(const struct pipe_scissor_state *state);

void trace_dump_clip_state(const struct pipe_clip_state *state);

void trace_dump_constant_buffer(const struct pipe_constant_buffer *state);
void trace_dump_constant_buffer(const struct pipe_buffer *state);

void trace_dump_token(const struct tgsi_token *token);


Loading…
Cancel
Save