mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 05:00:09 +01:00
comment reorg.
made some functions static. hide vp behind an envvar. removed unnecessary multitex constraint for napalm hw.
This commit is contained in:
parent
6a7b4690e3
commit
9e821269fc
1 changed files with 42 additions and 30 deletions
|
|
@ -1064,7 +1064,7 @@ fxDDReadPixels8888 (GLcontext * ctx,
|
|||
}
|
||||
|
||||
|
||||
void
|
||||
static void
|
||||
fxDDDrawPixels555 (GLcontext * ctx, GLint x, GLint y,
|
||||
GLsizei width, GLsizei height,
|
||||
GLenum format, GLenum type,
|
||||
|
|
@ -1199,7 +1199,7 @@ fxDDDrawPixels555 (GLcontext * ctx, GLint x, GLint y,
|
|||
}
|
||||
|
||||
|
||||
void
|
||||
static void
|
||||
fxDDDrawPixels565 (GLcontext * ctx, GLint x, GLint y,
|
||||
GLsizei width, GLsizei height,
|
||||
GLenum format, GLenum type,
|
||||
|
|
@ -1334,7 +1334,7 @@ fxDDDrawPixels565 (GLcontext * ctx, GLint x, GLint y,
|
|||
}
|
||||
|
||||
|
||||
void
|
||||
static void
|
||||
fxDDDrawPixels565_rev (GLcontext * ctx, GLint x, GLint y,
|
||||
GLsizei width, GLsizei height,
|
||||
GLenum format, GLenum type,
|
||||
|
|
@ -1469,7 +1469,7 @@ fxDDDrawPixels565_rev (GLcontext * ctx, GLint x, GLint y,
|
|||
}
|
||||
|
||||
|
||||
void
|
||||
static void
|
||||
fxDDDrawPixels8888 (GLcontext * ctx, GLint x, GLint y,
|
||||
GLsizei width, GLsizei height,
|
||||
GLenum format, GLenum type,
|
||||
|
|
@ -1869,27 +1869,34 @@ fxDDInitExtensions(GLcontext * ctx)
|
|||
_mesa_enable_extension(ctx, "GL_S3_s3tc");
|
||||
_mesa_enable_extension(ctx, "GL_NV_blend_square");
|
||||
} else {
|
||||
#if FX_TC_NCC
|
||||
/* [dBorca] Hack alert:
|
||||
* 1) NCC w/o DITHER_ERR has poor quality and NCC w/ DITHER_ERR is
|
||||
* damn slow!
|
||||
* 2) NCC compression cannot be used with multitexturing, because
|
||||
* the decompression tables are not per TMU anymore (bear in mind
|
||||
* that earlier Voodoos could handle 2 NCC tables for each TMU --
|
||||
* just look for POINTCAST_PALETTE). As a last resort, we could
|
||||
* fake NCC multitexturing through multipass rendering, but...
|
||||
* ohwell, it's not worth the effort...
|
||||
* This stand true for multitexturing palletized textures.
|
||||
* 3) since NCC is not an OpenGL standard (as opposed to FXT1/DXTC), we
|
||||
* can't use precompressed textures!
|
||||
/* [dBorca]
|
||||
* We should enable generic texture compression functions,
|
||||
* but some poorly written apps automatically assume S3TC.
|
||||
* Binding NCC to GL_COMPRESSED_RGB[A] is an unnecessary hassle,
|
||||
* since it's slow and ugly (better with palette textures, then).
|
||||
* Moreover, NCC is not an OpenGL standard, so we can't use
|
||||
* precompressed textures. Last, but not least, NCC runs amok
|
||||
* when multitexturing on a Voodoo3 and up (see POINTCAST vs UMA).
|
||||
* Note: this is also a problem with palette textures, but
|
||||
* faking multitex by multipass is evil...
|
||||
* Implementing NCC requires three stages:
|
||||
* fxDDChooseTextureFormat:
|
||||
* bind GL_COMPRESSED_RGB[A] to _mesa_texformat_argb8888,
|
||||
* so we can quantize properly, at a later time
|
||||
* fxDDTexImage:
|
||||
* if GL_COMPRESSED_RGB
|
||||
* use _mesa_texformat_l8 to get 1bpt and set GR_TEXFMT_YIQ_422
|
||||
* if GL_COMPRESSED_RGBA
|
||||
* use _mesa_texformat_al88 to get 2bpt and set GR_TEXFMT_AYIQ_8422
|
||||
* txMipQuantize(...);
|
||||
* if (level == 0) {
|
||||
* txPalToNcc((GuNccTable *)(&(ti->palette)), pxMip.pal);
|
||||
* }
|
||||
* fxSetupSingleTMU_NoLock/fxSetupDoubleTMU_NoLock:
|
||||
* grTexDownloadTable(GR_TEXTABLE_NCC0, &(ti->palette));
|
||||
*/
|
||||
if (fxMesa->HaveTexus2) {
|
||||
_mesa_enable_extension(ctx, "GL_ARB_texture_compression");
|
||||
}
|
||||
#else
|
||||
/* doesn't like texture compression */
|
||||
/*_mesa_enable_extension(ctx, "GL_ARB_texture_compression");*/
|
||||
_mesa_enable_extension(ctx, "GL_SGIS_generate_mipmap");
|
||||
#endif
|
||||
}
|
||||
|
||||
if (fxMesa->HaveCmbExt) {
|
||||
|
|
@ -1914,12 +1921,16 @@ fxDDInitExtensions(GLcontext * ctx)
|
|||
_mesa_enable_extension(ctx, "GL_EXT_multi_draw_arrays");
|
||||
_mesa_enable_extension(ctx, "GL_IBM_multimode_draw_arrays");
|
||||
_mesa_enable_extension(ctx, "GL_ARB_vertex_buffer_object");
|
||||
#if 1
|
||||
/* not just yet */
|
||||
_mesa_enable_extension(ctx, "GL_ARB_vertex_program");
|
||||
_mesa_enable_extension(ctx, "GL_NV_vertex_program");
|
||||
_mesa_enable_extension(ctx, "GL_NV_vertex_program1_1");
|
||||
_mesa_enable_extension(ctx, "GL_MESA_program_debug");
|
||||
/* dangerous */
|
||||
if (getenv("MESA_FX_ALLOW_VP")) {
|
||||
_mesa_enable_extension(ctx, "GL_ARB_vertex_program");
|
||||
_mesa_enable_extension(ctx, "GL_NV_vertex_program");
|
||||
_mesa_enable_extension(ctx, "GL_NV_vertex_program1_1");
|
||||
_mesa_enable_extension(ctx, "GL_MESA_program_debug");
|
||||
}
|
||||
#if 0
|
||||
/* this requires _tnl_vertex_cull_stage in the pipeline */
|
||||
_mesa_enable_extension(ctx, "EXT_cull_vertex");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -2051,7 +2062,8 @@ fx_check_IsInHardware(GLcontext * ctx)
|
|||
}
|
||||
#endif
|
||||
|
||||
if ((ctx->Texture.Unit[0].EnvMode != ctx->Texture.Unit[1].EnvMode) &&
|
||||
if (!fxMesa->HaveCmbExt &&
|
||||
(ctx->Texture.Unit[0].EnvMode != ctx->Texture.Unit[1].EnvMode) &&
|
||||
(ctx->Texture.Unit[0].EnvMode != GL_MODULATE) &&
|
||||
(ctx->Texture.Unit[0].EnvMode != GL_REPLACE)) { /* q2, seems ok... */
|
||||
if (TDFX_DEBUG & VERBOSE_DRIVER)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue