Mesa (master): gallium/os: Fix nano-micro second concersion.
Module: Mesa Branch: master Commit: 122dfc5ee25ec4faf040baf5dc834d144bb3a42c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=122dfc5ee25ec4faf040baf5dc834d144bb3a42c Author: José Fonseca jose.r.fons...@gmail.com Date: Sat Dec 8 11:15:46 2012 + gallium/os: Fix nano-micro second concersion. copy'n'paste: best friend, worst enemy.. Trivial. --- src/gallium/auxiliary/os/os_time.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/gallium/auxiliary/os/os_time.h b/src/gallium/auxiliary/os/os_time.h index 517de9b..4fab03c 100644 --- a/src/gallium/auxiliary/os/os_time.h +++ b/src/gallium/auxiliary/os/os_time.h @@ -62,7 +62,7 @@ os_time_get_nano(void); */ static INLINE int64_t os_time_get(void) { -return os_time_get_nano() * 1000; +return os_time_get_nano() / 1000; } ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): draw: update a comment about index buffers
Module: Mesa Branch: master Commit: b46b44b0a90db3d25e95c0ff1c6997374a3c45ee URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b46b44b0a90db3d25e95c0ff1c6997374a3c45ee Author: Brian Paul bri...@vmware.com Date: Fri Dec 7 12:26:18 2012 -0700 draw: update a comment about index buffers Reviewed-by: Jose Fonseca jfons...@vmware.com --- src/gallium/auxiliary/draw/draw_pt.c |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c index 08e06e8..23cdf36 100644 --- a/src/gallium/auxiliary/draw/draw_pt.c +++ b/src/gallium/auxiliary/draw/draw_pt.c @@ -443,9 +443,8 @@ draw_arrays_instanced(struct draw_context *draw, /** * Draw vertex arrays. * This is the main entrypoint into the drawing module. If drawing an indexed - * primitive, the draw_set_index_buffer() and draw_set_mapped_index_buffer() - * functions should have already been called to specify the element/index - * buffer information. + * primitive, the draw_set_indexes() function should have already been called + * to specify the element/index buffer information. */ void draw_vbo(struct draw_context *draw, ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): draw: add comment on draw-pt.opt field
Module: Mesa Branch: master Commit: 9b11344b25742062ff954370cc8c6a9a885b3394 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b11344b25742062ff954370cc8c6a9a885b3394 Author: Brian Paul bri...@vmware.com Date: Fri Dec 7 12:33:27 2012 -0700 draw: add comment on draw-pt.opt field Reviewed-by: Jose Fonseca jfons...@vmware.com --- src/gallium/auxiliary/draw/draw_private.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h index 86ce397..e52b3fd 100644 --- a/src/gallium/auxiliary/draw/draw_private.h +++ b/src/gallium/auxiliary/draw/draw_private.h @@ -141,7 +141,7 @@ struct draw_context /* Current active frontend */ struct draw_pt_front_end *frontend; unsigned prim; - unsigned opt; + unsigned opt; /** bitmask of PT_x flags */ unsigned eltSize; /* saved eltSize for flushing */ struct { ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): draw: rearrange code in llvm_middle_end_prepare()
Module: Mesa Branch: master Commit: a506ccd89fed8e4942ad5cd034b16b2aa9e873a7 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a506ccd89fed8e4942ad5cd034b16b2aa9e873a7 Author: Brian Paul bri...@vmware.com Date: Fri Dec 7 12:15:28 2012 -0700 draw: rearrange code in llvm_middle_end_prepare() To clean it up and make it look more like the non-LLVM fetch_pipeline_prepare() function. Reviewed-by: Jose Fonseca jfons...@vmware.com --- .../draw/draw_pt_fetch_shade_pipeline_llvm.c | 140 ++- 1 files changed, 74 insertions(+), 66 deletions(-) diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c index 507c158..9b8d343 100644 --- a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c +++ b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c @@ -65,23 +65,15 @@ llvm_middle_end_prepare( struct draw_pt_middle_end *middle, { struct llvm_middle_end *fpme = (struct llvm_middle_end *)middle; struct draw_context *draw = fpme-draw; - struct llvm_vertex_shader *shader = - llvm_vertex_shader(draw-vs.vertex_shader); - char store[DRAW_LLVM_MAX_VARIANT_KEY_SIZE]; - struct draw_llvm_variant_key *key; - struct draw_llvm_variant *variant = NULL; - struct draw_llvm_variant_list_item *li; - const unsigned out_prim = (draw-gs.geometry_shader ? - draw-gs.geometry_shader-output_primitive : - in_prim); + struct draw_vertex_shader *vs = draw-vs.vertex_shader; + struct draw_geometry_shader *gs = draw-gs.geometry_shader; + const unsigned out_prim = gs ? gs-output_primitive : in_prim; /* Add one to num_outputs because the pipeline occasionally tags on * an additional texcoord, eg for AA lines. */ - const unsigned nr = MAX2( shader-base.info.num_inputs, - shader-base.info.num_outputs + 1 ); - - unsigned i; + const unsigned nr = MAX2( vs-info.num_inputs, + vs-info.num_outputs + 1 ); fpme-input_prim = in_prim; fpme-opt = opt; @@ -121,70 +113,86 @@ llvm_middle_end_prepare( struct draw_pt_middle_end *middle, /* return even number */ *max_vertices = *max_vertices ~1; - - key = draw_llvm_make_variant_key(fpme-llvm, store); - - /* Search shader's list of variants for the key */ - li = first_elem(shader-variants); - while (!at_end(shader-variants, li)) { - if (memcmp(li-base-key, key, shader-variant_key_size) == 0) { - variant = li-base; - break; + + /* Find/create the vertex shader variant */ + { + struct draw_llvm_variant_key *key; + struct draw_llvm_variant *variant = NULL; + struct draw_llvm_variant_list_item *li; + struct llvm_vertex_shader *shader = llvm_vertex_shader(vs); + char store[DRAW_LLVM_MAX_VARIANT_KEY_SIZE]; + unsigned i; + + key = draw_llvm_make_variant_key(fpme-llvm, store); + + /* Search shader's list of variants for the key */ + li = first_elem(shader-variants); + while (!at_end(shader-variants, li)) { + if (memcmp(li-base-key, key, shader-variant_key_size) == 0) { +variant = li-base; +break; + } + li = next_elem(li); } - li = next_elem(li); - } - if (variant) { - /* found the variant, move to head of global list (for LRU) */ - move_to_head(fpme-llvm-vs_variants_list, variant-list_item_global); - } - else { - /* Need to create new variant */ - - /* First check if we've created too many variants. If so, free - * 25% of the LRU to avoid using too much memory. - */ - if (fpme-llvm-nr_variants = DRAW_MAX_SHADER_VARIANTS) { - /* - * XXX: should we flush here ? + if (variant) { + /* found the variant, move to head of global list (for LRU) */ + move_to_head(fpme-llvm-vs_variants_list, + variant-list_item_global); + } + else { + /* Need to create new variant */ + + /* First check if we've created too many variants. If so, free + * 25% of the LRU to avoid using too much memory. */ - for (i = 0; i DRAW_MAX_SHADER_VARIANTS / 4; i++) { -struct draw_llvm_variant_list_item *item; -if (is_empty_list(fpme-llvm-vs_variants_list)) { - break; + if (fpme-llvm-nr_variants = DRAW_MAX_SHADER_VARIANTS) { +/* + * XXX: should we flush here ? + */ +for (i = 0; i DRAW_MAX_SHADER_VARIANTS / 4; i++) { + struct draw_llvm_variant_list_item *item; + if (is_empty_list(fpme-llvm-vs_variants_list)) { + break; + } + item = last_elem(fpme-llvm-vs_variants_list); + assert(item); + assert(item-base); +
Mesa (master): draw: fix comment typo
Module: Mesa Branch: master Commit: 3e0fa487fbddcc5578f7829bd972a3d442e0a4cb URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e0fa487fbddcc5578f7829bd972a3d442e0a4cb Author: Brian Paul bri...@vmware.com Date: Fri Dec 7 12:41:22 2012 -0700 draw: fix comment typo Reviewed-by: Jose Fonseca jfons...@vmware.com --- src/gallium/auxiliary/draw/draw_pt.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c index 23cdf36..7113b9e 100644 --- a/src/gallium/auxiliary/draw/draw_pt.c +++ b/src/gallium/auxiliary/draw/draw_pt.c @@ -121,7 +121,7 @@ draw_pt_arrays(struct draw_context *draw, /* Flush draw state if eltSize changed. * This could be improved so only the frontend is flushed since it * converts all indices to ushorts and the fetch part of the middle - * always perpares both linear and indexed. + * always prepares both linear and indexed. */ frontend-flush( frontend, DRAW_FLUSH_STATE_CHANGE ); frontend = NULL; ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): draw: add reminder comments about similar code in different files
Module: Mesa Branch: master Commit: c5f544e69075001855da9f49f1c1d06191765a6c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5f544e69075001855da9f49f1c1d06191765a6c Author: Brian Paul bri...@vmware.com Date: Fri Dec 7 12:21:08 2012 -0700 draw: add reminder comments about similar code in different files When one function is changed, also look at the other. Presently, there are some differences with respect to geometry shaders and instanced drawing... Reviewed-by: Jose Fonseca jfons...@vmware.com --- .../auxiliary/draw/draw_pt_fetch_shade_pipeline.c |6 ++ .../draw/draw_pt_fetch_shade_pipeline_llvm.c |5 + 2 files changed, 11 insertions(+), 0 deletions(-) diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c index 053ea7d..a6f5484 100644 --- a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c +++ b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c @@ -51,6 +51,12 @@ struct fetch_pipeline_middle_end { unsigned opt; }; + +/** + * Prepare/validate middle part of the vertex pipeline. + * NOTE: if you change this function, also look at the LLVM + * function llvm_middle_end_prepare() for similar changes. + */ static void fetch_pipeline_prepare( struct draw_pt_middle_end *middle, unsigned prim, unsigned opt, diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c index 9b8d343..2230a7e 100644 --- a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c +++ b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c @@ -57,6 +57,11 @@ struct llvm_middle_end { }; +/** + * Prepare/validate middle part of the vertex pipeline. + * NOTE: if you change this function, also look at the non-LLVM + * function fetch_pipeline_prepare() for similar changes. + */ static void llvm_middle_end_prepare( struct draw_pt_middle_end *middle, unsigned in_prim, ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): draw: fix/improve dirty state validation
Module: Mesa Branch: master Commit: 4b73cdb864aef6d64c35a7ab9a59e4ee4e3f9d0f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b73cdb864aef6d64c35a7ab9a59e4ee4e3f9d0f Author: Brian Paul bri...@vmware.com Date: Fri Dec 7 13:58:34 2012 -0700 draw: fix/improve dirty state validation This patch does two things: 1. Constant buffer state changes were broken (but happened to work by dumb luck). The problem is we weren't calling draw_do_flush() in draw_set_mapped_constant_buffer() when we changed that state. All the other draw_set_foo() functions were calling draw_do_flush() already. 2. Use a simpler state validation step when we're changing light-weight parameter state such as constant buffers, viewport dims or clip planes. There's no need to revalidate the whole pipeline when changing state like that. The new validation method is called bind_parameters() and is called instead of the prepare() method. A new DRAW_FLUSH_PARAMETER_CHANGE flag is used to signal these light-weight state changes. This results in a modest but measurable increase in FPS for many Mesa demos. Reviewed-by: Jose Fonseca jfons...@vmware.com --- src/gallium/auxiliary/draw/draw_context.c |6 ++- src/gallium/auxiliary/draw/draw_pipe.c |2 +- src/gallium/auxiliary/draw/draw_private.h |7 ++- src/gallium/auxiliary/draw/draw_pt.c | 14 ++- src/gallium/auxiliary/draw/draw_pt.h |7 +++ .../auxiliary/draw/draw_pt_fetch_shade_pipeline.c | 10 + .../draw/draw_pt_fetch_shade_pipeline_llvm.c | 43 --- src/gallium/auxiliary/draw/draw_pt_vsplit.c|2 +- 8 files changed, 68 insertions(+), 23 deletions(-) diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index c231aba..bc2f0e1 100644 --- a/src/gallium/auxiliary/draw/draw_context.c +++ b/src/gallium/auxiliary/draw/draw_context.c @@ -289,7 +289,7 @@ void draw_set_rasterize_stage( struct draw_context *draw, void draw_set_clip_state( struct draw_context *draw, const struct pipe_clip_state *clip ) { - draw_do_flush( draw, DRAW_FLUSH_STATE_CHANGE ); + draw_do_flush(draw, DRAW_FLUSH_PARAMETER_CHANGE); memcpy(draw-plane[6], clip-ucp, sizeof(clip-ucp)); } @@ -301,7 +301,7 @@ void draw_set_clip_state( struct draw_context *draw, void draw_set_viewport_state( struct draw_context *draw, const struct pipe_viewport_state *viewport ) { - draw_do_flush( draw, DRAW_FLUSH_STATE_CHANGE ); + draw_do_flush(draw, DRAW_FLUSH_PARAMETER_CHANGE); draw-viewport = *viewport; /* struct copy */ draw-identity_viewport = (viewport-scale[0] == 1.0f viewport-scale[1] == 1.0f @@ -368,6 +368,8 @@ draw_set_mapped_constant_buffer(struct draw_context *draw, shader_type == PIPE_SHADER_GEOMETRY); debug_assert(slot PIPE_MAX_CONSTANT_BUFFERS); + draw_do_flush(draw, DRAW_FLUSH_PARAMETER_CHANGE); + switch (shader_type) { case PIPE_SHADER_VERTEX: draw-pt.user.vs_constants[slot] = buffer; diff --git a/src/gallium/auxiliary/draw/draw_pipe.c b/src/gallium/auxiliary/draw/draw_pipe.c index ac449b7..f1ee6cb 100644 --- a/src/gallium/auxiliary/draw/draw_pipe.c +++ b/src/gallium/auxiliary/draw/draw_pipe.c @@ -347,6 +347,6 @@ void draw_pipeline_flush( struct draw_context *draw, unsigned flags ) { draw-pipeline.first-flush( draw-pipeline.first, flags ); - if (!(flags DRAW_FLUSH_BACKEND)) + if (flags DRAW_FLUSH_STATE_CHANGE) draw-pipeline.first = draw-pipeline.validate; } diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h index e52b3fd..2223fcb 100644 --- a/src/gallium/auxiliary/draw/draw_private.h +++ b/src/gallium/auxiliary/draw/draw_private.h @@ -144,6 +144,8 @@ struct draw_context unsigned opt; /** bitmask of PT_x flags */ unsigned eltSize; /* saved eltSize for flushing */ + boolean rebind_parameters; + struct { struct draw_pt_middle_end *fetch_emit; struct draw_pt_middle_end *fetch_shade_emit; @@ -434,8 +436,9 @@ void draw_pipeline_flush( struct draw_context *draw, * Flushing */ -#define DRAW_FLUSH_STATE_CHANGE 0x8 -#define DRAW_FLUSH_BACKEND 0x10 +#define DRAW_FLUSH_PARAMETER_CHANGE 0x1 /** Constants, viewport, etc */ +#define DRAW_FLUSH_STATE_CHANGE 0x2 /** Other/heavy state changes */ +#define DRAW_FLUSH_BACKEND 0x4 /** Flush the output buffer */ void draw_do_flush( struct draw_context *draw, unsigned flags ); diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c index 7113b9e..ddaedcd 100644 --- a/src/gallium/auxiliary/draw/draw_pt.c +++ b/src/gallium/auxiliary/draw/draw_pt.c @@ -139,6 +139,12 @@ draw_pt_arrays(struct draw_context *draw,
Mesa (gles3): mesa: print unsigned values with %u
Module: Mesa Branch: gles3 Commit: 6b8a9c43bb87f214782c280fa96847992032891b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b8a9c43bb87f214782c280fa96847992032891b Author: Matt Turner matts...@gmail.com Date: Fri Dec 7 14:26:04 2012 -0800 mesa: print unsigned values with %u Otherwise messages say silly things like glGetActiveUniformBlockiv(block index -1 = 0) Reviewed-by: Brian Paul bri...@vmware.com Reviewed-by: Kenneth Graunke kenn...@whitecape.org --- src/mesa/main/uniforms.c |8 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c index 3f156bf..77b195e 100644 --- a/src/mesa/main/uniforms.c +++ b/src/mesa/main/uniforms.c @@ -614,14 +614,14 @@ _mesa_UniformBlockBinding(GLuint program, if (uniformBlockIndex = shProg-NumUniformBlocks) { _mesa_error(ctx, GL_INVALID_VALUE, - glUniformBlockBinding(block index %d = %d), + glUniformBlockBinding(block index %u = %u), uniformBlockIndex, shProg-NumUniformBlocks); return; } if (uniformBlockBinding = ctx-Const.MaxUniformBufferBindings) { _mesa_error(ctx, GL_INVALID_VALUE, - glUniformBlockBinding(block binding %d = %d), + glUniformBlockBinding(block binding %u = %u), uniformBlockBinding, ctx-Const.MaxUniformBufferBindings); return; } @@ -667,7 +667,7 @@ _mesa_GetActiveUniformBlockiv(GLuint program, if (uniformBlockIndex = shProg-NumUniformBlocks) { _mesa_error(ctx, GL_INVALID_VALUE, - glGetActiveUniformBlockiv(block index %d = %d), + glGetActiveUniformBlockiv(block index %u = %u), uniformBlockIndex, shProg-NumUniformBlocks); return; } @@ -750,7 +750,7 @@ _mesa_GetActiveUniformBlockName(GLuint program, if (uniformBlockIndex = shProg-NumUniformBlocks) { _mesa_error(ctx, GL_INVALID_VALUE, - glGetActiveUniformBlockiv(block index %d = %d), + glGetActiveUniformBlockiv(block index %u = %u), uniformBlockIndex, shProg-NumUniformBlocks); return; } ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (gles3): mesa/uniform_query: Don' t write to *params if there is an error
Module: Mesa Branch: gles3 Commit: d7063e8ee25963d08de2cd4d4ba61260c8eca9ca URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7063e8ee25963d08de2cd4d4ba61260c8eca9ca Author: Matt Turner matts...@gmail.com Date: Fri Dec 7 16:32:30 2012 -0800 mesa/uniform_query: Don't write to *params if there is an error The GL 3.1 and ES 3.0 specs say of glGetActiveUniformsiv: If an error occurs, nothing will be written to params. So, make a pass through the indices and check that they're valid before the pass that actually writes to params. Checking pname happens on the first iteration of the second loop. Fixes es3conform's getactiveuniformsiv_for_nonexistent_uniform_indices test. Reviewed-by: Brian Paul bri...@vmware.com Reviewed-by: Kenneth Graunke kenn...@whitecape.org --- src/mesa/main/uniform_query.cpp |6 +- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp index cbdd39e..245e9a7 100644 --- a/src/mesa/main/uniform_query.cpp +++ b/src/mesa/main/uniform_query.cpp @@ -97,12 +97,16 @@ _mesa_GetActiveUniformsiv(GLuint program, for (i = 0; i uniformCount; i++) { GLuint index = uniformIndices[i]; - const struct gl_uniform_storage *uni = shProg-UniformStorage[index]; if (index = shProg-NumUserUniformStorage) { _mesa_error(ctx, GL_INVALID_VALUE, glGetActiveUniformsiv(index)); return; } + } + + for (i = 0; i uniformCount; i++) { + GLuint index = uniformIndices[i]; + const struct gl_uniform_storage *uni = shProg-UniformStorage[index]; switch (pname) { case GL_UNIFORM_TYPE: ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): nvc0/ir: allow neg, abs modifiers on OP_SET with integer result
Module: Mesa Branch: master Commit: 1f079f9e5879ed9e5f2a951bca305a43e5dc9d1d URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f079f9e5879ed9e5f2a951bca305a43e5dc9d1d Author: Christoph Bumiller e0425...@student.tuwien.ac.at Date: Sat Dec 8 19:46:14 2012 +0100 nvc0/ir: allow neg,abs modifiers on OP_SET with integer result --- .../drivers/nvc0/codegen/nv50_ir_target_nvc0.cpp |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/src/gallium/drivers/nvc0/codegen/nv50_ir_target_nvc0.cpp b/src/gallium/drivers/nvc0/codegen/nv50_ir_target_nvc0.cpp index e3db4b2..cdc7c0a 100644 --- a/src/gallium/drivers/nvc0/codegen/nv50_ir_target_nvc0.cpp +++ b/src/gallium/drivers/nvc0/codegen/nv50_ir_target_nvc0.cpp @@ -481,6 +481,10 @@ TargetNVC0::isModSupported(const Instruction *insn, int s, Modifier mod) const case OP_OR: case OP_XOR: break; + case OP_SET: + if (insn-sType != TYPE_F32) +return false; + break; case OP_ADD: if (mod.abs()) return false; ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): nvc0/ir/emit: fix check for flags register use in logic ops
Module: Mesa Branch: master Commit: 7c6584b9968ff1af0798d0a783142052b43c1dc0 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c6584b9968ff1af0798d0a783142052b43c1dc0 Author: Christoph Bumiller e0425...@student.tuwien.ac.at Date: Sat Dec 8 15:06:43 2012 +0100 nvc0/ir/emit: fix check for flags register use in logic ops --- .../drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp b/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp index 92496a3..ab4fb94 100644 --- a/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp +++ b/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp @@ -647,17 +647,17 @@ CodeEmitterNVC0::emitLogicOp(const Instruction *i, uint8_t subOp) if (isLIMM(i-src(1), TYPE_U32)) { emitForm_A(i, HEX64(3800, 0002)); - if (i-srcExists(2)) + if (i-flagsDef = 0) code[1] |= 1 26; } else { emitForm_A(i, HEX64(6800, 0003)); - if (i-srcExists(2)) + if (i-flagsDef = 0) code[1] |= 1 16; } code[0] |= subOp 6; - if (i-srcExists(2)) // carry + if (i-flagsSrc = 0) // carry code[0] |= 1 5; if (i-src(0).mod Modifier(NV50_IR_MOD_NOT)) code[0] |= 1 9; ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): st/mesa: set PIPE_BIND_SAMPLER_VIEW for TBOs in st_bufferobj_data
Module: Mesa Branch: master Commit: 5e98cefb5a088b71ed3cb8e5cd826deed7d28b37 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e98cefb5a088b71ed3cb8e5cd826deed7d28b37 Author: Christoph Bumiller e0425...@student.tuwien.ac.at Date: Sat Dec 8 16:02:54 2012 +0100 st/mesa: set PIPE_BIND_SAMPLER_VIEW for TBOs in st_bufferobj_data --- src/mesa/state_tracker/st_cb_bufferobjects.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker/st_cb_bufferobjects.c index 7d1c05a..cf291c1 100644 --- a/src/mesa/state_tracker/st_cb_bufferobjects.c +++ b/src/mesa/state_tracker/st_cb_bufferobjects.c @@ -195,6 +195,9 @@ st_bufferobj_data(struct gl_context *ctx, case GL_ELEMENT_ARRAY_BUFFER_ARB: bind = PIPE_BIND_INDEX_BUFFER; break; + case GL_TEXTURE_BUFFER: + bind = PIPE_BIND_SAMPLER_VIEW; + break; case GL_TRANSFORM_FEEDBACK_BUFFER: bind = PIPE_BIND_STREAM_OUTPUT; break; ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Add missing _NEW_BUFFERS dirty bit in Gen7 SBE state.
Module: Mesa Branch: master Commit: bd87441ac028068f422e2c96b39f93644a0f246f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd87441ac028068f422e2c96b39f93644a0f246f Author: Kenneth Graunke kenn...@whitecape.org Date: Thu Nov 29 02:40:09 2012 -0800 i965: Add missing _NEW_BUFFERS dirty bit in Gen7 SBE state. This is needed to compute render_to_fbo. It even has the comment. NOTE: This is a candidate for stable branches. Reviewed-by: Eric Anholt e...@anholt.net --- src/mesa/drivers/dri/i965/gen7_sf_state.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/i965/gen7_sf_state.c b/src/mesa/drivers/dri/i965/gen7_sf_state.c index 28c6508..8b33514 100644 --- a/src/mesa/drivers/dri/i965/gen7_sf_state.c +++ b/src/mesa/drivers/dri/i965/gen7_sf_state.c @@ -142,7 +142,8 @@ upload_sbe_state(struct brw_context *brw) const struct brw_tracked_state gen7_sbe_state = { .dirty = { - .mesa = (_NEW_LIGHT | + .mesa = (_NEW_BUFFERS | + _NEW_LIGHT | _NEW_POINT | _NEW_PROGRAM), .brw = (BRW_NEW_CONTEXT | ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit