mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 22:38:05 +02:00
radeon/r300: don't flush cmdbuf if not necessary
This commit is contained in:
parent
286bf89e5a
commit
d3fa67c9b8
2 changed files with 19 additions and 3 deletions
|
|
@ -270,7 +270,11 @@ static void r300DeleteTexture(GLcontext * ctx, struct gl_texture_object *texObj)
|
|||
|
||||
if (rmesa) {
|
||||
int i;
|
||||
radeon_firevertices(&rmesa->radeon);
|
||||
struct radeon_bo *bo;
|
||||
bo = !t->mt ? t->bo : t->mt->bo;
|
||||
if (bo && radeon_bo_is_referenced_by_cs(bo, rmesa->radeon.cmdbuf.cs)) {
|
||||
radeon_firevertices(&rmesa->radeon);
|
||||
}
|
||||
|
||||
for(i = 0; i < R300_MAX_TEXTURE_UNITS; ++i)
|
||||
if (rmesa->hw.textures[i] == t)
|
||||
|
|
|
|||
|
|
@ -534,7 +534,13 @@ static void radeon_teximage(
|
|||
GLuint texelBytes;
|
||||
GLuint face = radeon_face_for_target(target);
|
||||
|
||||
radeon_firevertices(rmesa);
|
||||
{
|
||||
struct radeon_bo *bo;
|
||||
bo = !image->mt ? image->bo : image->mt->bo;
|
||||
if (bo && radeon_bo_is_referenced_by_cs(bo, rmesa->cmdbuf.cs)) {
|
||||
radeon_firevertices(rmesa);
|
||||
}
|
||||
}
|
||||
|
||||
t->validated = GL_FALSE;
|
||||
|
||||
|
|
@ -731,7 +737,13 @@ static void radeon_texsubimage(GLcontext* ctx, int dims, GLenum target, int leve
|
|||
radeonTexObj* t = radeon_tex_obj(texObj);
|
||||
radeon_texture_image* image = get_radeon_texture_image(texImage);
|
||||
|
||||
radeon_firevertices(rmesa);
|
||||
{
|
||||
struct radeon_bo *bo;
|
||||
bo = !image->mt ? image->bo : image->mt->bo;
|
||||
if (bo && radeon_bo_is_referenced_by_cs(bo, rmesa->cmdbuf.cs)) {
|
||||
radeon_firevertices(rmesa);
|
||||
}
|
||||
}
|
||||
|
||||
t->validated = GL_FALSE;
|
||||
if (compressed) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue