s/intel/st/

This commit is contained in:
Brian
2007-08-07 16:42:08 -06:00
parent 4a470f63c9
commit 14b9834330
2 changed files with 127 additions and 127 deletions
+126 -126
View File
@@ -113,7 +113,7 @@ st_get_texobj_mipmap_tree(struct gl_texture_object *texObj)
static int
intel_compressed_num_bytes(GLuint mesaFormat)
compressed_num_bytes(GLuint mesaFormat)
{
int bytes = 0;
switch(mesaFormat) {
@@ -443,42 +443,42 @@ logbase2(int n)
*/
static void
guess_and_alloc_mipmap_tree(struct pipe_context *pipe,
struct st_texture_object *intelObj,
struct st_texture_image *intelImage)
struct st_texture_object *stObj,
struct st_texture_image *stImage)
{
GLuint firstLevel;
GLuint lastLevel;
GLuint width = intelImage->base.Width;
GLuint height = intelImage->base.Height;
GLuint depth = intelImage->base.Depth;
GLuint width = stImage->base.Width;
GLuint height = stImage->base.Height;
GLuint depth = stImage->base.Depth;
GLuint l2width, l2height, l2depth;
GLuint i, comp_byte = 0;
DBG("%s\n", __FUNCTION__);
if (intelImage->base.Border)
if (stImage->base.Border)
return;
if (intelImage->level > intelObj->base.BaseLevel &&
(intelImage->base.Width == 1 ||
(intelObj->base.Target != GL_TEXTURE_1D &&
intelImage->base.Height == 1) ||
(intelObj->base.Target == GL_TEXTURE_3D &&
intelImage->base.Depth == 1)))
if (stImage->level > stObj->base.BaseLevel &&
(stImage->base.Width == 1 ||
(stObj->base.Target != GL_TEXTURE_1D &&
stImage->base.Height == 1) ||
(stObj->base.Target == GL_TEXTURE_3D &&
stImage->base.Depth == 1)))
return;
/* If this image disrespects BaseLevel, allocate from level zero.
* Usually BaseLevel == 0, so it's unlikely to happen.
*/
if (intelImage->level < intelObj->base.BaseLevel)
if (stImage->level < stObj->base.BaseLevel)
firstLevel = 0;
else
firstLevel = intelObj->base.BaseLevel;
firstLevel = stObj->base.BaseLevel;
/* Figure out image dimensions at start level.
*/
for (i = intelImage->level; i > firstLevel; i--) {
for (i = stImage->level; i > firstLevel; i--) {
width <<= 1;
if (height != 1)
height <<= 1;
@@ -491,9 +491,9 @@ guess_and_alloc_mipmap_tree(struct pipe_context *pipe,
* resizable buffers, or require that buffers implement lazy
* pagetable arrangements.
*/
if ((intelObj->base.MinFilter == GL_NEAREST ||
intelObj->base.MinFilter == GL_LINEAR) &&
intelImage->level == firstLevel) {
if ((stObj->base.MinFilter == GL_NEAREST ||
stObj->base.MinFilter == GL_LINEAR) &&
stImage->level == firstLevel) {
lastLevel = firstLevel;
}
else {
@@ -503,18 +503,18 @@ guess_and_alloc_mipmap_tree(struct pipe_context *pipe,
lastLevel = firstLevel + MAX2(MAX2(l2width, l2height), l2depth);
}
assert(!intelObj->mt);
if (intelImage->base.IsCompressed)
comp_byte = intel_compressed_num_bytes(intelImage->base.TexFormat->MesaFormat);
intelObj->mt = st_miptree_create(pipe,
intelObj->base.Target,
intelImage->base.InternalFormat,
assert(!stObj->mt);
if (stImage->base.IsCompressed)
comp_byte = compressed_num_bytes(stImage->base.TexFormat->MesaFormat);
stObj->mt = st_miptree_create(pipe,
stObj->base.Target,
stImage->base.InternalFormat,
firstLevel,
lastLevel,
width,
height,
depth,
intelImage->base.TexFormat->TexelBytes,
stImage->base.TexFormat->TexelBytes,
comp_byte);
DBG("%s - success\n", __FUNCTION__);
@@ -573,7 +573,7 @@ check_pbo_format(GLint internalFormat,
*/
static GLboolean
try_pbo_upload(GLcontext *ctx,
struct st_texture_image *intelImage,
struct st_texture_image *stImage,
const struct gl_pixelstore_attrib *unpack,
GLint internalFormat,
GLint width, GLint height,
@@ -600,11 +600,11 @@ try_pbo_upload(GLcontext *ctx,
else
src_stride = width;
dst_offset = st_miptree_image_offset(intelImage->mt,
intelImage->face,
intelImage->level);
dst_offset = st_miptree_image_offset(stImage->mt,
stImage->face,
stImage->level);
dst_stride = intelImage->mt->pitch;
dst_stride = stImage->mt->pitch;
intelFlush(&intel->ctx);
LOCK_HARDWARE(intel);
@@ -615,11 +615,11 @@ try_pbo_upload(GLcontext *ctx,
/* Temporary hack: cast to _DriBufferObject:
*/
struct _DriBufferObject *dst_buffer =
(struct _DriBufferObject *)intelImage->mt->region->buffer;
(struct _DriBufferObject *)stImage->mt->region->buffer;
intelEmitCopyBlit(intel,
intelImage->mt->cpp,
stImage->mt->cpp,
src_stride, src_buffer, src_offset,
dst_stride, dst_buffer, dst_offset,
0, 0, 0, 0, width, height,
@@ -637,7 +637,7 @@ try_pbo_upload(GLcontext *ctx,
static GLboolean
try_pbo_zcopy(GLcontext *ctx,
struct st_texture_image *intelImage,
struct st_texture_image *stImage,
const struct gl_pixelstore_attrib *unpack,
GLint internalFormat,
GLint width, GLint height,
@@ -664,8 +664,8 @@ st_TexImage(GLcontext * ctx,
struct gl_texture_image *texImage, GLsizei imageSize, int compressed)
{
struct pipe_context *pipe = ctx->st->pipe;
struct st_texture_object *intelObj = st_texture_object(texObj);
struct st_texture_image *intelImage = st_texture_image(texImage);
struct st_texture_object *stObj = st_texture_object(texObj);
struct st_texture_image *stImage = st_texture_image(texImage);
GLint postConvWidth = width;
GLint postConvHeight = height;
GLint texelBytes, sizeInBytes;
@@ -679,8 +679,8 @@ st_TexImage(GLcontext * ctx,
intelFlush(ctx);
#endif
intelImage->face = target_to_face(target);
intelImage->level = level;
stImage->face = target_to_face(target);
stImage->level = level;
if (ctx->_ImageTransferState & IMAGE_CONVOLUTION_BIT) {
_mesa_adjust_image_for_convolution(ctx, dims, &postConvWidth,
@@ -716,8 +716,8 @@ st_TexImage(GLcontext * ctx,
/* Release the reference to a potentially orphaned buffer.
* Release any old malloced memory.
*/
if (intelImage->mt) {
st_miptree_release(pipe, &intelImage->mt);
if (stImage->mt) {
st_miptree_release(pipe, &stImage->mt);
assert(!texImage->Data);
}
else if (texImage->Data) {
@@ -728,46 +728,46 @@ st_TexImage(GLcontext * ctx,
* bmBufferData with NULL data to free the old block and avoid
* waiting on any outstanding fences.
*/
if (intelObj->mt &&
intelObj->mt->first_level == level &&
intelObj->mt->last_level == level &&
intelObj->mt->target != GL_TEXTURE_CUBE_MAP_ARB &&
!st_miptree_match_image(intelObj->mt, &intelImage->base,
intelImage->face, intelImage->level)) {
if (stObj->mt &&
stObj->mt->first_level == level &&
stObj->mt->last_level == level &&
stObj->mt->target != GL_TEXTURE_CUBE_MAP_ARB &&
!st_miptree_match_image(stObj->mt, &stImage->base,
stImage->face, stImage->level)) {
DBG("release it\n");
st_miptree_release(pipe, &intelObj->mt);
assert(!intelObj->mt);
st_miptree_release(pipe, &stObj->mt);
assert(!stObj->mt);
}
if (!intelObj->mt) {
guess_and_alloc_mipmap_tree(pipe, intelObj, intelImage);
if (!intelObj->mt) {
if (!stObj->mt) {
guess_and_alloc_mipmap_tree(pipe, stObj, stImage);
if (!stObj->mt) {
DBG("guess_and_alloc_mipmap_tree: failed\n");
}
}
assert(!intelImage->mt);
assert(!stImage->mt);
if (intelObj->mt &&
st_miptree_match_image(intelObj->mt, &intelImage->base,
intelImage->face, intelImage->level)) {
if (stObj->mt &&
st_miptree_match_image(stObj->mt, &stImage->base,
stImage->face, stImage->level)) {
st_miptree_reference(&intelImage->mt, intelObj->mt);
assert(intelImage->mt);
st_miptree_reference(&stImage->mt, stObj->mt);
assert(stImage->mt);
}
if (!intelImage->mt)
if (!stImage->mt)
DBG("XXX: Image did not fit into tree - storing in local memory!\n");
#if 0 /* XXX FIX when st_buffer_objects are in place */
/* PBO fastpaths:
*/
if (dims <= 2 &&
intelImage->mt &&
stImage->mt &&
intel_buffer_object(unpack->BufferObj) &&
check_pbo_format(internalFormat, format,
type, intelImage->base.TexFormat)) {
type, stImage->base.TexFormat)) {
DBG("trying pbo upload\n");
@@ -777,11 +777,11 @@ st_TexImage(GLcontext * ctx,
* performance (in particular when pipe_region_cow() is
* required).
*/
if (intelObj->mt == intelImage->mt &&
intelObj->mt->first_level == level &&
intelObj->mt->last_level == level) {
if (stObj->mt == stImage->mt &&
stObj->mt->first_level == level &&
stObj->mt->last_level == level) {
if (try_pbo_zcopy(intel, intelImage, unpack,
if (try_pbo_zcopy(intel, stImage, unpack,
internalFormat,
width, height, format, type, pixels)) {
@@ -793,7 +793,7 @@ st_TexImage(GLcontext * ctx,
/* Otherwise, attempt to use the blitter for PBO image uploads.
*/
if (try_pbo_upload(intel, intelImage, unpack,
if (try_pbo_upload(intel, stImage, unpack,
internalFormat,
width, height, format, type, pixels)) {
DBG("pbo upload succeeded\n");
@@ -826,20 +826,20 @@ st_TexImage(GLcontext * ctx,
return;
if (intelImage->mt)
pipe->region_idle(pipe, intelImage->mt->region);
if (stImage->mt)
pipe->region_idle(pipe, stImage->mt->region);
#if 0
LOCK_HARDWARE(intel);
#endif
if (intelImage->mt) {
if (stImage->mt) {
texImage->Data = st_miptree_image_map(pipe,
intelImage->mt,
intelImage->face,
intelImage->level,
stImage->mt,
stImage->face,
stImage->level,
&dstRowStride,
intelImage->base.ImageOffsets);
stImage->base.ImageOffsets);
}
else {
/* Allocate regular memory and store the image there temporarily. */
@@ -881,8 +881,8 @@ st_TexImage(GLcontext * ctx,
_mesa_unmap_teximage_pbo(ctx, unpack);
if (intelImage->mt) {
st_miptree_image_unmap(pipe, intelImage->mt);
if (stImage->mt) {
st_miptree_image_unmap(pipe, stImage->mt);
texImage->Data = NULL;
}
@@ -1468,9 +1468,9 @@ st_CopyTexSubImage2D(GLcontext * ctx, GLenum target, GLint level,
* GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, and GL_TEXTURE_MAX_LEVEL.
*/
static void
intel_calculate_first_last_level(struct st_texture_object *intelObj)
calculate_first_last_level(struct st_texture_object *stObj)
{
struct gl_texture_object *tObj = &intelObj->base;
struct gl_texture_object *tObj = &stObj->base;
const struct gl_texture_image *const baseImage =
tObj->Image[0][tObj->BaseLevel];
@@ -1512,21 +1512,21 @@ intel_calculate_first_last_level(struct st_texture_object *intelObj)
}
/* save these values */
intelObj->firstLevel = firstLevel;
intelObj->lastLevel = lastLevel;
stObj->firstLevel = firstLevel;
stObj->lastLevel = lastLevel;
}
static void
copy_image_data_to_tree(struct pipe_context *pipe,
struct st_texture_object *intelObj,
struct st_texture_object *stObj,
struct st_texture_image *stImage)
{
if (stImage->mt) {
/* Copy potentially with the blitter:
*/
st_miptree_image_copy(pipe,
intelObj->mt,
stObj->mt,
stImage->face,
stImage->level, stImage->mt);
@@ -1538,7 +1538,7 @@ copy_image_data_to_tree(struct pipe_context *pipe,
/* More straightforward upload.
*/
st_miptree_image_data(pipe,
intelObj->mt,
stObj->mt,
stImage->face,
stImage->level,
stImage->base.Data,
@@ -1549,19 +1549,19 @@ copy_image_data_to_tree(struct pipe_context *pipe,
stImage->base.Data = NULL;
}
st_miptree_reference(&stImage->mt, intelObj->mt);
st_miptree_reference(&stImage->mt, stObj->mt);
}
/*
*/
GLuint
GLboolean
st_finalize_mipmap_tree(GLcontext *ctx,
struct pipe_context *pipe, GLuint unit,
GLboolean *needFlush)
{
struct gl_texture_object *tObj = ctx->Texture.Unit[unit]._Current;
struct st_texture_object *intelObj = st_texture_object(tObj);
struct st_texture_object *stObj = st_texture_object(tObj);
int comp_byte = 0;
int cpp;
@@ -1573,42 +1573,42 @@ st_finalize_mipmap_tree(GLcontext *ctx,
/* We know/require this is true by now:
*/
assert(intelObj->base._Complete);
assert(stObj->base._Complete);
/* What levels must the tree include at a minimum?
*/
intel_calculate_first_last_level(intelObj);
calculate_first_last_level(stObj);
firstImage =
st_texture_image(intelObj->base.Image[0][intelObj->firstLevel]);
st_texture_image(stObj->base.Image[0][stObj->firstLevel]);
/* Fallback case:
*/
if (firstImage->base.Border) {
if (intelObj->mt) {
st_miptree_release(pipe, &intelObj->mt);
if (stObj->mt) {
st_miptree_release(pipe, &stObj->mt);
}
return GL_FALSE;
}
/* If both firstImage and intelObj have a tree which can contain
/* If both firstImage and stObj have a tree which can contain
* all active images, favour firstImage. Note that because of the
* completeness requirement, we know that the image dimensions
* will match.
*/
if (firstImage->mt &&
firstImage->mt != intelObj->mt &&
firstImage->mt->first_level <= intelObj->firstLevel &&
firstImage->mt->last_level >= intelObj->lastLevel) {
firstImage->mt != stObj->mt &&
firstImage->mt->first_level <= stObj->firstLevel &&
firstImage->mt->last_level >= stObj->lastLevel) {
if (intelObj->mt)
st_miptree_release(pipe, &intelObj->mt);
if (stObj->mt)
st_miptree_release(pipe, &stObj->mt);
st_miptree_reference(&intelObj->mt, firstImage->mt);
st_miptree_reference(&stObj->mt, firstImage->mt);
}
if (firstImage->base.IsCompressed) {
comp_byte = intel_compressed_num_bytes(firstImage->base.TexFormat->MesaFormat);
comp_byte = compressed_num_bytes(firstImage->base.TexFormat->MesaFormat);
cpp = comp_byte;
}
else cpp = firstImage->base.TexFormat->TexelBytes;
@@ -1622,28 +1622,28 @@ st_finalize_mipmap_tree(GLcontext *ctx,
* programming minLod, maxLod, baseLevel into the hardware and
* leaving the tree alone.
*/
if (intelObj->mt &&
(intelObj->mt->target != intelObj->base.Target ||
intelObj->mt->internal_format != firstImage->base.InternalFormat ||
intelObj->mt->first_level != intelObj->firstLevel ||
intelObj->mt->last_level != intelObj->lastLevel ||
intelObj->mt->width0 != firstImage->base.Width ||
intelObj->mt->height0 != firstImage->base.Height ||
intelObj->mt->depth0 != firstImage->base.Depth ||
intelObj->mt->cpp != cpp ||
intelObj->mt->compressed != firstImage->base.IsCompressed)) {
st_miptree_release(pipe, &intelObj->mt);
if (stObj->mt &&
(stObj->mt->target != stObj->base.Target ||
stObj->mt->internal_format != firstImage->base.InternalFormat ||
stObj->mt->first_level != stObj->firstLevel ||
stObj->mt->last_level != stObj->lastLevel ||
stObj->mt->width0 != firstImage->base.Width ||
stObj->mt->height0 != firstImage->base.Height ||
stObj->mt->depth0 != firstImage->base.Depth ||
stObj->mt->cpp != cpp ||
stObj->mt->compressed != firstImage->base.IsCompressed)) {
st_miptree_release(pipe, &stObj->mt);
}
/* May need to create a new tree:
*/
if (!intelObj->mt) {
intelObj->mt = st_miptree_create(pipe,
intelObj->base.Target,
if (!stObj->mt) {
stObj->mt = st_miptree_create(pipe,
stObj->base.Target,
firstImage->base.InternalFormat,
intelObj->firstLevel,
intelObj->lastLevel,
stObj->firstLevel,
stObj->lastLevel,
firstImage->base.Width,
firstImage->base.Height,
firstImage->base.Depth,
@@ -1653,16 +1653,16 @@ st_finalize_mipmap_tree(GLcontext *ctx,
/* Pull in any images not in the object's tree:
*/
nr_faces = (intelObj->base.Target == GL_TEXTURE_CUBE_MAP) ? 6 : 1;
nr_faces = (stObj->base.Target == GL_TEXTURE_CUBE_MAP) ? 6 : 1;
for (face = 0; face < nr_faces; face++) {
for (i = intelObj->firstLevel; i <= intelObj->lastLevel; i++) {
for (i = stObj->firstLevel; i <= stObj->lastLevel; i++) {
struct st_texture_image *stImage =
st_texture_image(intelObj->base.Image[face][i]);
st_texture_image(stObj->base.Image[face][i]);
/* Need to import images in main memory or held in other trees.
*/
if (intelObj->mt != stImage->mt) {
copy_image_data_to_tree(pipe, intelObj, stImage);
if (stObj->mt != stImage->mt) {
copy_image_data_to_tree(pipe, stObj, stImage);
*needFlush = GL_TRUE;
}
}
@@ -1680,17 +1680,17 @@ st_finalize_mipmap_tree(GLcontext *ctx,
#if 0 /* unused? */
void
st_tex_map_images(struct pipe_context *pipe,
struct st_texture_object *intelObj)
struct st_texture_object *stObj)
{
GLuint nr_faces = (intelObj->base.Target == GL_TEXTURE_CUBE_MAP) ? 6 : 1;
GLuint nr_faces = (stObj->base.Target == GL_TEXTURE_CUBE_MAP) ? 6 : 1;
GLuint face, i;
DBG("%s\n", __FUNCTION__);
for (face = 0; face < nr_faces; face++) {
for (i = intelObj->firstLevel; i <= intelObj->lastLevel; i++) {
for (i = stObj->firstLevel; i <= stObj->lastLevel; i++) {
struct st_texture_image *stImage =
st_texture_image(intelObj->base.Image[face][i]);
st_texture_image(stObj->base.Image[face][i]);
if (stImage->mt) {
stImage->base.Data =
@@ -1712,15 +1712,15 @@ st_tex_map_images(struct pipe_context *pipe,
void
st_tex_unmap_images(struct pipe_context *pipe,
struct st_texture_object *intelObj)
struct st_texture_object *stObj)
{
GLuint nr_faces = (intelObj->base.Target == GL_TEXTURE_CUBE_MAP) ? 6 : 1;
GLuint nr_faces = (stObj->base.Target == GL_TEXTURE_CUBE_MAP) ? 6 : 1;
GLuint face, i;
for (face = 0; face < nr_faces; face++) {
for (i = intelObj->firstLevel; i <= intelObj->lastLevel; i++) {
for (i = stObj->firstLevel; i <= stObj->lastLevel; i++) {
struct st_texture_image *stImage =
st_texture_image(intelObj->base.Image[face][i]);
st_texture_image(stObj->base.Image[face][i]);
if (stImage->mt) {
st_miptree_image_unmap(pipe, stImage->mt);
+1 -1
View File
@@ -6,7 +6,7 @@ extern struct pipe_mipmap_tree *
st_get_texobj_mipmap_tree(struct gl_texture_object *texObj);
extern GLuint
extern GLboolean
st_finalize_mipmap_tree(GLcontext *ctx,
struct pipe_context *pipe, GLuint unit,
GLboolean *needFlush);