NV20 seems to be very different to NV10. In vertex array, pos is first,
not last. There are maximum 16 attributes and only few are currently
known.
This makes trivial/tri work on NV20.
Signed-off-by: Pekka Paalanen <pq@iki.fi>
VIEWPORT_SCALE0 seems to do with translation and the sane
value for x and y is zero.
VIEWPORT_SCALE1 is still a mystery.
Signed-off-by: Pekka Paalanen <pq@iki.fi>
The wrap_texture() function doesn't set the renderbuffer PutRowRGB() method,
which is used to implement DrawPixels(). This fix adds an implementation
of this method.
Someone changed the st_get_framebuffer_surface() signature, and did not
update the users in Nouveau winsys. Surface is returned via a pointer
now instead of returning it from the function. No semantic changes.
Signed-off-by: Pekka Paalanen <pq@iki.fi>
Fixes:
In file included from nouveau_context_dri.c:6:
../../../../../../src/mesa/state_tracker/st_public.h:87: warning:
'struct pipe_texture' declared inside parameter list
../../../../../../src/mesa/state_tracker/st_public.h:87: warning: its
scope is only this definition or declaration, which is probably not what
you want
../../../../../../src/mesa/state_tracker/st_public.h:104: warning:
'struct pipe_texture' declared inside parameter list
Signed-off-by: Pekka Paalanen <pq@iki.fi>
_DLL is defined by MSVC when building against a DLL version of the CRT
library. It bears no relation to whether we are building a DLL or not. That
is, we can build a DLL against a static CRT, or a static lib against a
dynamicaly linked CRT. See more detail at
http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx
This gets DLL version of glut linking correctly both with MinGW and MSVC.
PS: GL/gl.h (and others) must be fixed too.
Trying to override windows headers is a recipe for disaster. Especially
when using with glew. Also the windows headers in recent MinGW are complete
enough that they don't need patching up.
On Mobile chipsets, we often enable PipeB instead of PipeA, but the test
in here was insufficient, falling back to pipe A if the area
intersection returned zero. Therefore, in the case where a window went
off to the top of the left of the screen, it would freeze, waiting on
the wrong vblank.
Fix this mess by checking the sarea for a crtc being zero sized, and in
that case always default to the other one.