Age | Commit message (Collapse) | Author |
|
|
|
computation into the vertex program (not yet fixed for swtnl). Simplify (and correct) the VTX_TCL_OUTPUT_VTXFMT handling when using vertex programs, turns out it's solely driven by the needs of the past-vertex stage of the pipeline, this should fix lockups with ill-specified applications using vertex programs (for instance applications enabling fog but not writing to fog coord output will now get (conformant) undefined results instead of lockups).
|
|
default/fallback functions are already plugged in by the call to
_mesa_init_driver_functions().
|
|
nearly the same as outlined in bug #4707, except it disables perspective correction for point sprites to make them actually work. And, separate the state atom into two as the tcl parameters would overwrite vertex program parameters when active. Also implement the GL_VERTEX_PROGRAM_POINT_SIZE_ARB option to make vertex programs outputting a point size work correctly (untested). Smooth points will still always be size 1. While here, enable gouraud shading for fog when using fog coord.
|
|
we call the blend/logic op functions. Fixes glean logicOp test on r200.
|
|
is not enabled (?). This fixes demos/cubemap as well as glean texCube test.
|
|
enabled, not just when a program enables vertex progs (could still be not enabled due to some error). Otherwise the hw potentially would try to execute a not valid (not set up at all) vertex program, likely leading to lockups. Hopefully fixes #8060.
|
|
generic attribs cause a fallback, but otherwise it seems to work quite well. Passes all glean vertProg1 tests with the exception of the degnerated LIT case (which is a hw limitation), as well as runs the r200 render path of doom3/quake4 (1.1 patch needed for quake4). The code is heavily borrowed from the r300 driver as vertex programs encoding is almost identical. arb_vertex_program is not yet announced by default and still needs to be enabled via driconf.
|
|
instead of 8k (the reasons why it was exactly 8k are unclear). Add register defines, sanity code, fix potential issue with wrong statechange order when disabling fragment programs.
|
|
|
|
(reported by Jim Duchek). Fix some potential problems with strict-aliasing with r200 and radeon drivers in *UpdateViewportOffset, *PolygonOffset and *UpdateWindow functions (some compiler warnings about strict-aliasing remain in the codegen vertex code, and there may be more problems unnoticed by the compiler).
|
|
|
|
generic state functions. This is done in the vtxfmt/hwtcl/swtcl pathes respectively.
|
|
mode for lighting (potentially causes slight misrenderings with the specular components of lights if the light model is not set for local viewer).
|
|
point sprite primitive.
|
|
call driUpdateFramebufferSize() when window size/position changes.
|
|
ctx->Driver.Stencil*Separate() functions.
|
|
code is in the new file r200_fragshader.c. Reverse engeneered by Dave Airlie and me
|
|
ARB_vertex_program. Disable ARB_vertex_program by default - it is incredibly slow, and just plain doesn't work anyway (arbvptorus fails an assertion, arbvpmesh has bogus output)
|
|
|
|
Use driRenderbuffer's offset, pitch fields in the span routines.
Remove the SetBuffer driver function.
Consolidate the code for setting CTX_RB3D_COLOROFFSET and CTX_RB3D_COLORPITCH
state in new radeonUpdateDrawBuffer() function.
Old code is surrounded by #if 000 / #endif, temporarily.
|
|
Main driver impacts:
- new code for creating the Mesa GLframebuffer
- new span/pixel read/write code
Some drivers not yet updated/tested.
|
|
|
|
|
|
in bzflag 2.0. (Alexander E. Patrakov)
|
|
radeon and r200 driver
|
|
|
|
fast z clear and z buffer compression are supported for now, hierarchical-z is not. Still problems with multiple apps and z/stencil readback, which is why hyperz is disabled per default. Also add the new point sprite packet drm 1.13 accepts to the sanity code.
|
|
fog coords (it seems the chip cannot do fog factor computation when not using fragment depth as fog coord source). vtxfmt uses fallback for now (most code present but some magic would be needed if replaying vertices is necessary later on).
|
|
coordinate generation. Original code by Roland Schiedegger, with changes by
myself. While here, ensure that the swtcl path does tnl_install_attrs enough
when fog/specular are being (en/dis)abled.
Notable effects:
- projtex test works with TCL and is closer with swtcl (Bugzilla #1461)
- 8/9 squares work in texgenmix instead of 3.
- texcyl "reflect" mode works (GL_SPHERE_MAP is now a fallback -- unclear if the
hardware can actually support it).
- flickering in doom3 replaced by just plain darkness.
- blocktube fixed (Bugzilla #984)
- fixes stex3d
|
|
|
|
support in the r200 driver. Both extensions can be enabled via
options, GL_ARB_vertex_program is on by default, GL_NV_vertex_program
off. Option descriptions are in german, english and french.
From: Philipp Klaus Krause
|
|
MaxTextureUnits (Andreas Stenglein, Ronny Vindenes)
|
|
GL_EXT_blend_color. Remove support for GL_EXT_blend_logic_op (cannot be supported together with blend_equation_separate unless a software fallback would be added).
|
|
errors when blending is disabled (set blend equation and function to default values).
|
|
Only available with Xlib driver for now.
Assorted clean-ups related to Draw/ReadBuffer().
Renamed FRONT_LEFT_BIT -> DD_FRONT_LEFT_BIT, etc.
|
|
|
|
|
|
of glx/mini. removes glx/mini/drm.h glx/mini/sarea.h
|
|
color calculations to the GPU). Two-side lighting fallback no longer needed and eliminated.
|
|
The internal driver interface was also changed to use
BlendEquationSeparate instead of BlendEquation.
|
|
|
|
(Roland Scheidegger), and update lighting state unconditionally there.
Fixes lighting oddities in the xscreensaver endgame hack, bzflag and
possibly elsewhere.
|
|
driver (our r200 driver basically didn't do this at all, maybe got lost
along the way?)
|
|
dd_function_table:BlendFuncSeparate. If a driver does not actually
support EXT_blend_func_separate, it can assume that the RGB and alpha
blend functions are the same.
|
|
by calling _mesa_init_driver_functions() and then plugging in the driver-
specific functions.
In particular, make sure ctx->Driver.NewTextureObject points to the
appropriate driver function so that _all_ texture objects are augmented
with the driver-specific data.
Put in a bunch of assertions in the texture-related driver functions that
texObj->DriverData is valid. Remove old dead code in near future.
|
|
|
|
from radeon_state.c, noticed by Dieter Nuetzel.
|
|
|
|
|