From: José Fonseca Date: Sat, 29 Aug 2009 08:17:51 +0000 (+0100) Subject: llvmpipe: Update for changes in master. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f04ce6276b64f24cf26ca522f012a1e1a28937fe;p=mesa.git llvmpipe: Update for changes in master. --- diff --git a/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c b/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c index 0c837188cac..bce26607f90 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c @@ -255,15 +255,15 @@ emit_tex( struct lp_build_tgsi_soa_context *bld, switch (inst->InstructionExtTexture.Texture) { case TGSI_TEXTURE_1D: - case TGSI_TEXTURE_SHADOW1D: num_coords = 1; break; case TGSI_TEXTURE_2D: case TGSI_TEXTURE_RECT: - case TGSI_TEXTURE_SHADOW2D: - case TGSI_TEXTURE_SHADOWRECT: num_coords = 2; break; + case TGSI_TEXTURE_SHADOW1D: + case TGSI_TEXTURE_SHADOW2D: + case TGSI_TEXTURE_SHADOWRECT: case TGSI_TEXTURE_3D: case TGSI_TEXTURE_CUBE: num_coords = 3; @@ -1167,7 +1167,7 @@ emit_instruction( return 0; break; - case TGSI_OPCODE_LOOP: + case TGSI_OPCODE_BGNFOR: return 0; break; @@ -1183,7 +1183,7 @@ emit_instruction( return 0; break; - case TGSI_OPCODE_ENDLOOP: + case TGSI_OPCODE_ENDFOR: return 0; break; diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c index 169fe87b78e..18e348d69e0 100644 --- a/src/gallium/drivers/llvmpipe/lp_texture.c +++ b/src/gallium/drivers/llvmpipe/lp_texture.c @@ -48,11 +48,6 @@ /* Simple, maximally packed layout. */ -static unsigned minify( unsigned d ) -{ - return MAX2(1, d>>1); -} - /* Conventional allocation path for non-display textures: */ @@ -102,6 +97,7 @@ llvmpipe_displaytarget_layout(struct pipe_screen *screen, { unsigned usage = (PIPE_BUFFER_USAGE_CPU_READ_WRITE | PIPE_BUFFER_USAGE_GPU_READ_WRITE); + unsigned tex_usage = lpt->base.tex_usage; pf_get_block(lpt->base.format, &lpt->base.block); lpt->base.nblocksx[0] = pf_get_nblocksx(&lpt->base.block, lpt->base.width[0]); @@ -112,6 +108,7 @@ llvmpipe_displaytarget_layout(struct pipe_screen *screen, lpt->base.height[0], lpt->base.format, usage, + tex_usage, &lpt->stride[0]); return lpt->buffer != NULL; @@ -139,7 +136,8 @@ llvmpipe_texture_create(struct pipe_screen *screen, if(lpt->base.format == PIPE_FORMAT_Z16_UNORM) lpt->base.format = PIPE_FORMAT_Z32_UNORM; - if (lpt->base.tex_usage & PIPE_TEXTURE_USAGE_DISPLAY_TARGET) { + if (lpt->base.tex_usage & (PIPE_TEXTURE_USAGE_DISPLAY_TARGET | + PIPE_TEXTURE_USAGE_PRIMARY)) { if (!llvmpipe_displaytarget_layout(screen, lpt)) goto fail; } diff --git a/src/gallium/drivers/llvmpipe/lp_tile_cache.c b/src/gallium/drivers/llvmpipe/lp_tile_cache.c index 23bf6088579..143afec3d35 100644 --- a/src/gallium/drivers/llvmpipe/lp_tile_cache.c +++ b/src/gallium/drivers/llvmpipe/lp_tile_cache.c @@ -220,7 +220,7 @@ lp_flush_tile_cache(struct llvmpipe_tile_cache *tc) if(!dst) continue; - pipe_fill_rect(dst, &pt->block, pt->stride, + util_fill_rect(dst, &pt->block, pt->stride, x, y, tw, th, tc->clear_val);