* shows why this is silly. Assuming RGBA, 4cpp, we can see that
* 4096*4096*4096 = 64.0 GiB exactly, so it's not exactly
* practical. However, if at some point a game really wants this,
- * then we can remove this limit. */
+ * then we can remove or raise this limit. */
if (r300screen->caps->is_r500) {
/* 9 == 256x256x256 */
return 9;
case PIPE_CAP_TEXTURE_MIRROR_REPEAT:
return 1;
case PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS:
- /* XXX guessing */
+ /* XXX guessing (what a terrible guess) */
return 2;
default:
debug_printf("r300: Implementation error: Bad param %d\n",
}
}
-/* XXX moar formats */
+/* XXX even moar formats */
static boolean check_tex_2d_format(enum pipe_format format)
{
switch (format) {
+ /* Colorbuffer */
case PIPE_FORMAT_A8R8G8B8_UNORM:
+ /* Texture */
case PIPE_FORMAT_I8_UNORM:
+ /* Z buffer */
+ case PIPE_FORMAT_Z16_UNORM:
+ /* Z buffer with stencil */
+ case PIPE_FORMAT_Z24S8_UNORM:
return TRUE;
+
+ /* These formats are explicitly not supported, in order to keep
+ * people from wasting their time trying to implement them... */
+ case PIPE_FORMAT_S8Z24_UNORM:
+ return FALSE;
+
default:
debug_printf("r300: Warning: Got unknown format: %s, in %s\n",
pf_name(format), __FUNCTION__);