Age | Commit message (Collapse) | Author |
|
|
|
|
|
ifdefs in r300_setup_rs_unit and r300SetupPixelShader in r300_state.c\nRequires DRM update.
|
|
set. Otherwise the 3D engine may still be using a texture that is
being overwritten. In order to minimize the cost of waiting, timestamp
textures only when needed: when a texture image changes, when a
different texture is bound to a texture unit or when a texture unit is
disabled. (Used to be after flushing every command buffer.)
|
|
Reflex from mesa demos doesn't work
TODO - double side stencil
I hope that I didn't break anything
|
|
|
|
|
|
|
|
|
|
to software rendering. Alpha test in textures is still completely broken as can be seen in progs/demos/fire and various games.
|
|
not part of the DDX->DRI interface and should never have been in this
file in the first place.
|
|
kept around for reference. Now that command DMA is implemented in the
DRM module they are no longer needed.
|
|
|
|
for these extensions (as well as ARB_vertex_program and ARB_matrix_palette)
was just approved by the ARB on 8-Mar-2005. Now the only extension missing
for 1.5 support is ARB_vertex_buffer_object.
The opcodes for ARB_matrix_palette were also added to gl_API.xml. Since
this extension isn't supported by Mesa, no code is generated for it. Some
tabs were also converted to spaces in the comment for
GetCompressedTexImageARB.
|
|
|
|
explaining why they are the same as the non-REV formats now that
textures don't get byte-swapped on their way to the chip.
Fix the ARGB4444 and L8 formats.
Add entries for the A8 and RGB332 formats.
|
|
- Flush before using a new texture or before disabling a texture unit,
because savageFlushCmdBuf can only update the timestamp of the last
used texture. This fixes corruption in quake2 with single-textured
lighting.
|
|
if it didn't change. This seems to flush texture cashes. Fixes
multi-textured lighting in quake2.
|
|
|
|
|
|
|
|
correctly disable alpha test. Vertex programs with high vertex count now run a lot faster as software fallback is no longer on. Also disabling 'temp to result'-instructions as they probably violate the spec and dont seem to be something thats needed.
|
|
|
|
ahead of the CPU for more parallelism of CPU and GPU. Unfortunately
there seems to be some broken hardware (like my ProSavageDDR) on which
status register updates are delayed sometimes. This leads to very
jerky animation if the hardware can buffer more than the current
frame. A new option "sync_frames" can be used as a remedy on such
broken hardware.
|
|
new DRM version 2.4 and command DMA.
- Flush less.
- Bumped the driver date.
|
|
|
|
From: Stephane Marchesin
|
|
*please* feel free to change it back.
My reasons:
* immediate mode is broken
* vb mode is faster
* vb mode is the right way to do it.
|
|
bogus value. This fixes many, many rendering issues which I wrongly blamed on texture programming or performance..
|
|
|
|
r420 cards with less than 16 pipes.
|
|
|
|
program related functions.
|
|
endElement handler for <function>. This catches the errors as early as
possible and makes debugging other code easier.
|
|
(XMesaDrawable)w)->depth in the error message.
|
|
|
|
|
|
|
|
alpha value. Fixed.
|
|
|
|
|
|
VSF_MAX_FRAGMENT_LENGTH as it seems a bit low otherwise.
|
|
|
|
0x4e71 - Saphire 9600 256MB - Second Head...
|
|
|
|
additional checks.
Replace _mesa_init_buffers() with _mesa_init_scissor() and _mesa_init_multisample().
|
|
make ycbcr depend on a CHIPSET define .. needs to be filled in though
|
|
now contains 3 static tables. The first table is a single, large string of
all the enum names. The second table is an array, sorted by enum name, of
indexes to the string table and the matching enum value. The extra string
table is used to eliminate relocs (and save space) in the compiled file.
The third table is an array, sorted by enum value, of indexes into the
second table.
The [name, enum] table contains all of the enums, but the table sorted by
enum-value does not. This table contains one entry per enum value. For
enum values that have multiple names (e.g., 0x84C0 has GL_TEXTURE0_ARB and
GL_TEXTURE0), only an index to the "best" name will appear in the table.
gl_enums.py gives precedence to "core" GL versions of names, followed by ARB
versions, followed by EXT versions, followed, finally, by vendor versions
(i.e., anything that doesn't fall into one of the previous categories). By
filtering the unneeded elements from this table, not only can we guarantee
determinism in the generated tables, but we save 364 elements in the table.
The optimizations outlined above reduced the size of the stripped enums.o
(on x86) from ~80KB to ~53KB.
The internal organization of gl_enums.py was also heavily modified.
Previously enums were stored in an unsorted list as [value, name] tuples
(basically). This list was then sorted, using a user-specified compare
function (i.e., VERY slow in most Python implementations) to generate a
table sorted by enum value. It was then sorted again, using another
user-specified compare function, to generate a table sorted by name.
Enums are now stored in a dictionary, called enum_table, with the enum value
as the key. Each dictionary element is a list of [name, priority] pairs.
The priority is determined as described above. The table sorted by enum
value is generated by sorting the keys of enum_table (i.e., very fast). The
tables sorted by name are generated by creating a list, called name_table,
of [name, enum value] pairs. This table can then be sorted by doing
name_table.sort() (i.e., very fast).
The result is a fair amount more Python code, but execution time was reduced
from ~14 seconds to ~2 seconds.
|
|
ARB_fragment_program_shadow, ARB_vertex_program, NV_fragment_program,
NV_fragment_program_option, NV_fragment_program2, NV_vertex_program,
NV_vertex_program1_1, NV_vertex_program2, NV_vertex_program2_option,
NV_vertex_program3, and ATI_text_fragment_shader.
|
|
setup_single_request, and setup_vendor_request to the global functions
__glXReadPixelReply, __glXReadReply, __glXSetupSingleRequest, and
__glXSetupVendorRequest. This will make it easier to add handcoded Single /
VendorPrivate / VendorPrivteWithReply functions.
|