Commit Graph

3960 Commits

Author SHA1 Message Date
Stefan Dösinger 5c4d3fb5a2 wined3d: Control SFLAG_CONVERTED in surface_prepare_texture.
This makes sure that the flag is set correctly when
surface_allocate_surface is called and client storage is disabled
properly for converted surfaces.
2010-02-17 16:50:38 +01:00
Henri Verbeet f97565191c wined3d: Drop buffer objects from the stream info as well when PreLoad drops them. 2010-02-16 10:47:56 +01:00
Henri Verbeet 974f888dfa wined3d: Move the gl info structure to wined3d_private.h. 2010-02-16 10:47:50 +01:00
Henri Verbeet 1a880cb1f9 wined3d: Remove some unused extensions. 2010-02-16 10:47:40 +01:00
Stefan Dösinger 24e2308670 wined3d: Don't use GL_MAP_FLUSH_EXPLICIT_BIT without GL_MAP_WRITE_BIT. 2010-02-09 11:33:44 +01:00
Stefan Dösinger 8625f0cdbf wined3d: Don't record dirty areas in a readonly lock. 2010-02-09 11:33:34 +01:00
Henri Verbeet ba8e6f713b wined3d: Use the HDC from the acquired context to call SwapBuffer().
These should be the same, but this way the relation is clearer.
2010-02-05 10:06:21 +01:00
Henri Verbeet d0afc7567b wined3d: Call SetDestWindowOverride() before acquiring a context. 2010-02-05 10:06:17 +01:00
Henri Verbeet 3df59ef0d5 wined3d: Get rid of the now redundant max_ffp_texture_stages device field. 2010-02-05 10:06:12 +01:00
Henri Verbeet 4c7bcb883b wined3d: Set the texture stage limit based on the fragment pipe caps. 2010-02-05 10:06:08 +01:00
Henri Verbeet b59dd0e4e8 wined3d: Add the general combiner limit to wined3d_gl_info. 2010-02-05 10:06:03 +01:00
Henri Verbeet 576ea95803 wined3d: Remove the unused device type parameter from the shader backend's get_caps() function. 2010-02-04 13:39:27 +01:00
Henri Verbeet 497386dc5c wined3d: Remove the unused device type parameter from the fragment pipe's get_caps() function.
On the subject of actually supporting software devices, we should probably
implement those by creating a software or reference adapter with appropriate
gl_info and pipe implementations and creating a device based on that.
2010-02-04 13:39:26 +01:00
Henri Verbeet af7dfcd378 wined3d: Do not preload surfaces when attaching them to an FBO.
Just make sure the texture is allocated, so we have something to attach. Note
also that context_apply_attachment_filter_states() runs under the GL lock, so
preloading resources is actually unsafe there.
2010-02-04 13:39:26 +01:00
Henri Verbeet 02e0b3ae1a wined3d: Introduce surface_prepare_texture().
Similar to surface_prepare_system_memory(). In the long term we'll probably
want to move the whole location management to resource.c and unify buffers and
textures there.
2010-02-04 13:39:26 +01:00
Henri Verbeet b0583a2410 wined3d: Never acquire a context in IWineD3DSurfaceImpl_BindTexture().
The caller is already responsible for doing this, so it's redundant at best.
2010-02-04 13:39:26 +01:00
Henri Verbeet 84913109f6 wined3d: Explicitly load and modify the surface in color_fill_fbo(). 2010-02-03 13:54:02 +01:00
Henri Verbeet 5f3dccddb4 wined3d: Do not depend on context_attach_surface_fbo() to load the surface in stretch_rect_fbo(). 2010-02-03 13:54:02 +01:00
Henri Verbeet 040452ad90 wined3d: Update the stream info before applying states. 2010-02-03 13:54:02 +01:00
Henri Verbeet 31d51fb175 wined3d: Preload textures before applying states. 2010-02-03 13:54:02 +01:00
Henri Verbeet 7ff576bbab wined3d: Select the blitter during adapter initialization. 2010-02-03 13:54:02 +01:00
Henri Verbeet cee8e9d881 wined3d: Select the shader backend during adapter initialization. 2010-02-02 14:11:02 +01:00
Henri Verbeet fb21551b2d wined3d: Select the fragment pipeline during adapter initialization. 2010-02-02 14:10:56 +01:00
Henri Verbeet 93c49f1777 wined3d: Update the swapchain's present parameters when changing the backbuffer.
This fixes a bug exposed by commit b5907e23cc.
2010-02-02 14:10:52 +01:00
Henri Verbeet 97700f05a9 wined3d: TRACE IWineD3DDeviceImpl_CreateSurface() parameters. 2010-02-02 14:10:44 +01:00
Henri Verbeet 42c83f0260 wined3d: Dump ARB program shaders on compile failure.
Similar to the patch for GLSL.
2010-02-02 14:10:40 +01:00
Stefan Dösinger 224043d6cf wined3d: Implement dynamic buffers with GL_ARB_map_buffer_range. 2010-02-02 14:09:14 +01:00
Stefan Dösinger f6bb86e196 wined3d: Add GL_ARB_map_buffer_range. 2010-02-02 14:09:04 +01:00
Henri Verbeet c43c2a2845 wined3d: Use the absolute source value in shader_glsl_rsq(). 2010-02-01 14:16:26 +01:00
Henri Verbeet adf4ca2e23 wined3d: Handle a zero source value for WINED3DSIH_RSQ. 2010-02-01 14:16:22 +01:00
Henri Verbeet ef82681d59 wined3d: Handle a zero source value for WINED3DSIH_RCP. 2010-02-01 14:16:18 +01:00
Henri Verbeet 4a8f93bade wined3d: Handle a zero source value for WINED3DSIH_LOG. 2010-02-01 14:16:15 +01:00
Henri Verbeet bef792f5ff wined3d: Handle zero-length vectors for WINED3DSIH_NRM.
Unfortunately there's no reliable way to generate infinity in GLSL, but a
sufficiently large value will probably do. The important part of the patch is
that we don't generate NaN, because that will keep propagating through the
entire shader.
2010-02-01 14:16:11 +01:00
Luca Bennati 9f3c90973f wined3d: Add newer ATI/AMD cards vendor recognition. 2010-02-01 12:46:23 +01:00
Stefan Dösinger d499073c10 wined3d: Catch invalid buffer map parameters. 2010-01-29 14:59:02 +01:00
Henri Verbeet 9f21f2c2f2 wined3d: Dump the GLSL shader source on link failure.
Mostly to help Mesa developers diagnose bug reports involving GLSL compile
failures, but it's convenient in general to have the source all in one place.
2010-01-29 13:30:06 +01:00
Henri Verbeet c03d367d3c wined3d: Get rid of an unnecessary GetContainer() call in surface_blt_to_drawable(). 2010-01-29 13:30:06 +01:00
Henri Verbeet d66f5345e6 wined3d: Prune invalid states from the state table. 2010-01-29 13:30:06 +01:00
Henri Verbeet 19516bf69f wined3d: Add some basic state table validation. 2010-01-29 13:30:05 +01:00
Henri Verbeet 9bbccb7f80 wined3d: Add a debug function for state names. 2010-01-29 13:30:05 +01:00
Henri Verbeet a3e1a6f2ee wined3d: Use correct texture stage limits in a couple of places. 2010-01-28 11:08:14 +01:00
Henri Verbeet daf0aeb34a wined3d: Make sure all contexts are finished drawing before calling SwapBuffers().
This causes a small performance hit when multiple GL contexts are used. As an
optimization we could use ARB_sync to only wait for the last draw call instead
of all GL commands.
2010-01-28 11:08:07 +01:00
Henri Verbeet ce42470138 wined3d: Ensure draw ordering across contexts. 2010-01-28 11:07:59 +01:00
Henri Verbeet b2e511f391 wined3d: Trace the GLSL version string.
At some point we'll use the GLSL version to check if certain features are
available. For now just print the version.
2010-01-28 11:07:52 +01:00
Henri Verbeet 08c2a23599 wined3d: Just use the GL 1.1 texture format constants.
We assume GL 1.1 is available everywhere else.
2010-01-28 11:07:48 +01:00
Henri Verbeet 69861cf873 wined3d: Get rid of the depth range hack. 2010-01-27 11:16:07 +01:00
Henri Verbeet fe1024ae4f wined3d: Add a FIXME for missing ARB_depth_clamp support. 2010-01-27 11:15:45 +01:00
Stefan Dösinger ee720f05d1 wined3d: Put the APPLE_flush_buffer_range code into the right branch. 2010-01-26 12:18:59 +01:00
Henri Verbeet 005eb0bd7d wined3d: Move some macros to directx.c.
Nothing GL specific about these.
2010-01-26 12:08:33 +01:00
Henri Verbeet 98568f0ba1 wined3d: Add support for ARB_vertex_array_bgra. 2010-01-26 12:08:27 +01:00