summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_resource.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2011-02-17 10:25:57 +1000
committerDave Airlie <airlied@redhat.com>2011-02-17 10:27:09 +1000
commit231bf886dae9c7df0ae3e16acee904024a08824f (patch)
tree9fc9ad790fcee506ce832063aec8fa07ea4214ad /src/gallium/drivers/r600/r600_resource.h
parent5cc35124b31aa1dddffd24d92c8447cf7a9d9f98 (diff)
r600g: get s3tc working on cards with crappy 64/128 bit types.
Some cards don't appear to work correctly with the UNORM type, so switch to the integer type, however since gallium has no integer types yet from what I can see we need to do a hack to workaround it for the blitter. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/gallium/drivers/r600/r600_resource.h')
-rw-r--r--src/gallium/drivers/r600/r600_resource.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_resource.h b/src/gallium/drivers/r600/r600_resource.h
index fdcfcd50a1..836e7491f1 100644
--- a/src/gallium/drivers/r600/r600_resource.h
+++ b/src/gallium/drivers/r600/r600_resource.h
@@ -64,6 +64,10 @@ struct r600_resource_texture {
unsigned dirty_db;
struct r600_resource_texture *flushed_depth_texture;
boolean is_flushing_texture;
+
+ /* on some cards we have to use integer 64/128-bit types
+ for s3tc blits, do this until gallium grows int formats */
+ boolean force_int_type;
};
#define R600_TEX_IS_TILED(tex, level) ((tex)->array_mode[level] != V_038000_ARRAY_LINEAR_GENERAL && (tex)->array_mode[level] != V_038000_ARRAY_LINEAR_ALIGNED)