Commit graph

15204 commits

Author SHA1 Message Date
Brian Paul
44c99ad236 mesa: better function inlining in the presence of 'return' statements
Before, the presence of a 'return' statement always prevented inlining
a function.  This was because we didn't want to accidentally return from
the _calling_ function.  We still need the semantic of 'return' when inlining
but we can't always use unconditional branches/jumps (GPUs don't always
support arbitrary branching).

Now, we allow inlining functions w/ return if the return is the last
statement in the function.  This fixes the common case of a function
that returns a value, such as:

vec4 square(const in vec4 x)
{
   return x * x;
}

which effectively compiles into:

vec4 square(const in vec4 x)
{
   __retVal = x * x;
   return;
}

The 'return' can be no-op'd now and we can inline the function.

cherry-picked from master
2008-07-01 11:48:57 -06:00
Brian Paul
7d4f01413f mesa: add/fix some IrInfo entries for debugging purposes
cherry-picked from master
2008-07-01 11:48:27 -06:00
Jakob Bornecrantz
e99ce4af8a i915: Last reference to surface -> pitch 2008-07-01 15:52:37 +02:00
José Fonseca
b3da2a9524 gallium: Use the inline keyword on C++. 2008-07-01 22:04:58 +09:00
José Fonseca
846f87d826 scons: Output mapfile on windows ddk profile builds. 2008-07-01 22:04:01 +09:00
José Fonseca
810888f656 gles: Don't define GLAPIENTRY here. 2008-06-30 12:49:32 +09:00
Brian Paul
9d94d133b0 mesa: added null ptr checks 2008-06-28 16:47:39 -06:00
Brian Paul
2242769a13 s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv() 2008-06-28 16:47:22 -06:00
Brian Paul
a1ec6efce0 mesa: check FEATURE_point_size_array 2008-06-28 16:15:03 -06:00
Brian Paul
d4b100a6a1 egl: set config's EGL_CONFORMANT, EGL_RENDERABLE_TYPE, EGL_SURFACE_TYPE attributes 2008-06-28 16:04:01 -06:00
Brian Paul
8f91a83669 egl: fix default value of EGL_SURFACE_TYPE, added some sanity check assertions 2008-06-28 16:03:28 -06:00
José Fonseca
0f9a1e43bc egl: WinCE doesn't have sys/types.h 2008-06-28 20:40:44 +09:00
Zack Rusin
a7499b7fc7 egl: helps if the stride is right 2008-06-27 16:47:22 -04:00
Zack Rusin
838b0d6e48 eh, we need a buildbot... fix the compilation 2008-06-27 15:56:09 -04:00
Roland Scheidegger
429a08384c gallium: handle msaa 2008-06-27 16:10:16 +02:00
Robert Ellison
a1fb565ea7 egl: These changes allow an eglBindAPI(EGL_OPENGL_ES_API) to succeed, and to work correctly with GLES1 and GLES2.
- egl_xdri.c just sets the EGL_OPENGL_ES_BIT as well as the
  EGL_OPENGL_BIT in ClientAPIsMask

- eglconfig.c allows the renderable type to include EGL_OPENGL_ES2_BIT
  as well as EGL_OPENGL_ES_BIT.

- egl_xlib.c sets the EGL_NATIVE_RENDERABLE attribute to EGL_FALSE for
  all softpipe configurations.  (Otherwise, an eglChooseConfig() that
  looks for particular values of EGL_NATIVE_RENDERABLE will fail.)
2008-06-27 07:17:02 -06:00
Jonathan White
b028b0cc53 egl: Windows updates to the platform.h files 2008-06-27 07:13:58 -06:00
Jakob Bornecrantz
5b9d823545 i915: Fix the last of the stride/pitch changes 2008-06-27 14:33:02 +02:00
José Fonseca
fb95b603ef mesa: Replace void * arithmetic. 2008-06-27 20:56:49 +09:00
José Fonseca
4f45dbc6aa gdi: Update for cpp removal. 2008-06-27 20:56:29 +09:00
José Fonseca
891469a3a5 cell: Update for cpp removal.
Not tested -- just mymic the softpipe changes.
2008-06-27 20:10:04 +09:00
José Fonseca
4ddd659679 gallium: Drop pipe_texture->cpp and pipe_surface->cpp.
The chars-per-pixel concept falls apart with compressed and yuv images,
where more than one pixel are coded in a single data block.
2008-06-27 19:37:56 +09:00
José Fonseca
05cfb4c4b8 scons: Get x86-64<->x86 cross build of assembly files right. 2008-06-27 13:41:23 +09:00
José Fonseca
6106db4c5d scons: Fix i965/xlib build. 2008-06-27 13:01:37 +09:00
José Fonseca
fb4361a93d scons: Fix typo. 2008-06-27 12:35:18 +09:00
José Fonseca
cb09d1ef60 mesa: Use the appropriate relocation.
I don't fully understand this, but this matches the assembly code gcc
generates glapi.c and fixes following error on x86-64 with assembly:

  relocation R_X86_64_PC32 against `_gl_DispatchTSD' can not be used when making a shared object
2008-06-27 12:34:57 +09:00
José Fonseca
38d779a3e6 gallium: Describe pixel block.
Chars-per-pixel paradigm is not enough to represent compressed and yuv
pixel formats.
2008-06-26 23:39:13 +09:00
Brian Paul
d378f7b3df mesa: point size arrays 2008-06-25 08:45:14 -06:00
Brian Paul
0561a293b6 gallium: remove some old dispatch code 2008-06-24 08:47:15 -06:00
Brian Paul
2b69233510 gallium: remove bad assertion 2008-06-24 08:45:59 -06:00
Jakob Bornecrantz
62fd280c52 gallium: Fix whole source being used in u_blit 2008-06-24 16:14:46 +02:00
José Fonseca
fd6676c249 Fix CRLF line endings. 2008-06-24 22:26:19 +09:00
José Fonseca
67262c82a1 Allow CRLF automatic conversion on MSVC project files.
MSVC doesn't really care, and it is frequently causing merge conflicts.
2008-06-24 22:25:52 +09:00
Jakob Bornecrantz
e95697758e i915: Create a texture and surface for shared frontbuffer 2008-06-24 14:42:12 +02:00
Jakob Bornecrantz
19dad109bb i915: Added texture_blanket function 2008-06-24 14:33:28 +02:00
Jakob Bornecrantz
2d11411b19 i915: Moved screen creation to intel_be_device 2008-06-24 14:33:18 +02:00
Jakob Bornecrantz
e8af160b24 gallium: Fix warning in u_blit.h 2008-06-24 14:33:07 +02:00
Jakob Bornecrantz
72edcd1711 egl: Stdint was missing from eglconfigutil.h 2008-06-24 14:32:53 +02:00
José Fonseca
8c90148cb9 mesa: Fix Windows GDI winsys build. 2008-06-24 20:44:47 +09:00
José Fonseca
9dfa6063be gallium: Avoid double arithmetic. 2008-06-24 14:22:09 +09:00
José Fonseca
a148025d94 mesa: Use standard integer types.
Especially get rid of the non-portable long long.
2008-06-24 14:18:07 +09:00
José Fonseca
b6f053739f mesa: Replace deprecated __MSC__ macro. 2008-06-24 14:02:24 +09:00
José Fonseca
4802a687a7 dri/intel: Use standard integer types. 2008-06-24 14:00:10 +09:00
José Fonseca
e8b52b3f56 gallium: Drop deprecated __MSC__ macro. 2008-06-24 13:56:41 +09:00
José Fonseca
0d94767430 egl: Use standard integer types. 2008-06-24 13:55:38 +09:00
José Fonseca
2e328dcde2 mesa/dri: User standard integer types. 2008-06-24 13:51:52 +09:00
José Fonseca
5c1a78b7a8 mesa: More signed/unsigned float/integer fixes. 2008-06-24 13:12:41 +09:00
José Fonseca
0b3d1b1ea4 mesa: WGL is not part of the WinCE API.
Although it would be interesting having the GDI winsys running on WinCE
several Windows GDI API functions and data structures are missing from
WinCE headers, making this far from a trivial endeavor.
2008-06-24 13:00:03 +09:00
José Fonseca
b750b5326d gdi: Update for surface_alloc_storage changes. 2008-06-24 11:40:25 +09:00
José Fonseca
18ec140ef2 mesa: Use appropriate unsigned/signed, float/integer types. 2008-06-24 11:34:46 +09:00