Commit Graph

5294 Commits

Author SHA1 Message Date
Henri Verbeet e4efcea223 wined3d: Set the read buffer to GL_NONE in surface_load_ds_location().
On GL implementations that don't support GL_ARB_ES2_compatibility the
framebuffer's read buffer has to be valid, even if we're not reading from it.
2011-08-03 09:23:08 +02:00
Henri Verbeet 98650e841e wined3d: Go to the fallbacks if D3D is not initialized in surface_blt().
Even though this is the "OpenGL" surface implementation, this can still happen
in e.g. ddraw if no swapchain is created yet. That's something we should fix,
but not today.
2011-08-02 11:40:20 +02:00
Henri Verbeet 7539cc8faa wined3d: Go straight to the fallbacks for complex blits in surface_blt().
At the moment this is only marginally useful, since it just avoids silly
things like color keyed depth fills that are probably invalid anyway. However,
the idea is to gradually move normal color fill and blit handling out of
IWineD3DSurfaceImpl_BltOverride() and surface_cpu_blt(), and eventually make
those functions go away completely.
2011-08-02 11:40:16 +02:00
Henri Verbeet 4bdd4ef45b wined3d: Check for locked surfaces in wined3d_surface_blt(). 2011-08-02 11:40:11 +02:00
Henri Verbeet 50d883c37e wined3d: IWineD3DSurfaceImpl_BltOverride() is always passed valid source and destination rectangles.
So no need to call surface_get_rect() anymore.
2011-08-02 11:40:07 +02:00
Henri Verbeet ace241ad59 wined3d: Resolve source and destination rectangles in wined3d_surface_blt(). 2011-08-02 11:40:01 +02:00
Henri Verbeet 33fafc6166 wined3d: Get rid of context_bind_fbo() calls outside context.c. 2011-08-01 11:16:12 +02:00
Henri Verbeet dcc969c32c wined3d: Get rid of dst_fbo.
As a result we can get rid of a couple of other things as well.
2011-08-01 11:16:08 +02:00
Henri Verbeet ccb3a51a44 wined3d: Just invalidate STATE_FRAMEBUFFER in surface_load_ds_location(). 2011-08-01 11:16:03 +02:00
Henri Verbeet 4428bda4a1 wined3d: Apply clear state after depth / stencil setup in device_clear_render_targets(). 2011-08-01 11:15:59 +02:00
Henri Verbeet 03eb6a4aa6 wined3d: Apply draw state after depth / stencil setup in drawPrimitive(). 2011-08-01 11:15:55 +02:00
Henri Verbeet 64f71fda6d wined3d: Complain about users disabling GLSL. 2011-07-29 12:11:01 +02:00
Henri Verbeet 2256a7e804 wined3d: wined3d_device_evict_managed_resources() doesn't need a return value. 2011-07-29 12:09:39 +02:00
Henri Verbeet 3d7c596cdc wined3d: Don't hide GL function pointer typedefs behind extension defines.
These are specific to wined3d.
2011-07-29 12:09:26 +02:00
Henri Verbeet 7bc0032878 wined3d: Recognize some more AMD cards. 2011-07-29 12:09:22 +02:00
Henri Verbeet b06e32184b wined3d: Only invalidate state for the current context in wined3d_buffer_unmap(). 2011-07-29 12:09:17 +02:00
Stefan Dösinger 41f9ca2abf wined3d: Restore the call to context_validate_onscreen_formats.
This got lost accidentally in d321959dd7.
2011-07-28 11:29:52 +02:00
Henri Verbeet 487cc9729b wined3d: Only invalidate state for the current context in wined3d_buffer_map(). 2011-07-28 11:29:27 +02:00
Henri Verbeet cc2dc5b0c8 wined3d: Only invalidate state for the current context in wined3d_device_set_cursor_properties(). 2011-07-28 11:29:24 +02:00
Henri Verbeet a1ba5b5131 wined3d: Only invalidate state for the current context in device_clear_render_targets(). 2011-07-28 11:29:21 +02:00
Henri Verbeet 7e3f85cab6 wined3d: Only invalidate state for the current context in tesselate_rectpatch(). 2011-07-28 11:29:18 +02:00
Henri Verbeet 2bf020e26f wined3d: Only invalidate state for the current context in surface_blt_fbo(). 2011-07-28 11:29:14 +02:00
Henri Verbeet 51c0f2a787 wined3d: Only invalidate state for the current context in wined3d_surface_depth_blt_fbo(). 2011-07-27 11:51:53 +02:00
Henri Verbeet c2ede1d4c8 wined3d: Only invalidate state for the current context in swapchain_blit(). 2011-07-27 11:51:50 +02:00
Henri Verbeet 68d692f49c wined3d: Get rid of the redundant state_table parameter to context_invalidate_state(). 2011-07-27 11:51:46 +02:00
Henri Verbeet 26cd7b835d wined3d: Get rid of the use_vshader parameter to device_stream_info_from_declaration(). 2011-07-27 11:51:41 +02:00
Henri Verbeet bd1429e248 wined3d: Introduce a "state" variable in device_stream_info_from_declaration(). 2011-07-27 11:51:34 +02:00
Henri Verbeet 1195530795 wined3d: Release the onscreen depth / stencil reference on reset.
No need to save the contents, after a reset it's all undefined anyway.
2011-07-25 21:25:24 +02:00
Henri Verbeet 27b20bac43 wined3d: Unbind all textures in wined3d_device_reset(). 2011-07-25 21:25:19 +02:00
Henri Verbeet 44e109debe wined3d: Unbind resources inside wined3d_device_reset(). 2011-07-25 21:25:15 +02:00
Henri Verbeet c84112f86f wined3d: Get rid of wined3d_device_enum_resources(). 2011-07-25 21:25:11 +02:00
Henri Verbeet 0739cae273 wined3d: Pass "reset_enum_callback" directly to wined3d_device_reset().
It would have been nice if we could do all of this inside wined3d, but we need
to determine what resources are in use by d3d8/d3d9, not wined3d. This is
mostly an issue for "implicit" resources like swapchain render targets and the
depth / stencil surface. The fact that we're having this problem probably
means we're doing it wrong. Since these implicit resources should only be
referenced by wined3d, we could probably just destroy and recreate the
swapchain, instead of the little updateSurfaceDesc() dance we currently do.
2011-07-25 21:25:01 +02:00
Henri Verbeet b09b7e323c wined3d: Store a pointer to the state table in the context. 2011-07-25 11:59:15 +02:00
Henri Verbeet 68b9071329 wined3d: Make the shader and ctx_priv parameters to shader_generate_glsl_declarations() const. 2011-07-25 11:59:11 +02:00
Henri Verbeet 6a046eddd7 wined3d: Get rid of the vpos_uniform field from the wined3d_pixel_shader structure. 2011-07-25 11:59:07 +02:00
Henri Verbeet 43d2515da5 wined3d: Use the "rts" variable in context_apply_clear_state(). 2011-07-25 11:59:04 +02:00
Henri Verbeet e5036e365e wined3d: Use gl_info from the context in context_apply_clear_state(). 2011-07-25 11:58:59 +02:00
Henri Verbeet dbcbf0c45b wined3d: Make the heap parameter to update_heap_entry() const. 2011-07-22 12:57:20 +02:00
Henri Verbeet 959874c2d8 wined3d: Make the tex_unit_map parameter to shader_glsl_load_vsamplers() const. 2011-07-22 12:57:19 +02:00
Henri Verbeet 86dd8476db wined3d: Make the tex_unit_map parameter to shader_glsl_load_psamplers() const. 2011-07-22 12:57:19 +02:00
Stefan Dösinger f99a2748e4 wined3d: Don't apply and invalidate the framebuffer when clearing the device's fb. 2011-07-20 19:23:05 +02:00
Henri Verbeet 6ffd066834 wined3d: Make the query parameter to wined3d_event_query_finish() const. 2011-07-19 14:06:05 +02:00
Henri Verbeet 2e636aae29 wined3d: Make the query parameter to wined3d_event_query_test() const. 2011-07-19 14:06:03 +02:00
Henri Verbeet c6c76f5a1a wined3d: Make the priv parameter to map_register() const. 2011-07-19 14:06:01 +02:00
Henri Verbeet c5f8a33a86 wined3d: Make the surface parameter to ffp_blit_p8_upload_palette() const. 2011-07-19 14:05:59 +02:00
Henri Verbeet 437cec1a49 wined3d: Make the surface parameter to surface_depth_blt() const. 2011-07-18 16:23:29 +02:00
Henri Verbeet a97ed53460 wined3d: Make the surface parameter to surface_convert_color_to_float() const. 2011-07-18 16:23:29 +02:00
Henri Verbeet d314aa2d6e wined3d: Make the surface parameter to surface_convert_depth_to_float() const. 2011-07-18 16:23:29 +02:00
Henri Verbeet 416a55c7aa wined3d: Make the surface parameter to surface_is_full_rect() const. 2011-07-18 16:23:29 +02:00
Henri Verbeet db12216301 wined3d: Make the surface parameter to surface_get_rect() const. 2011-07-18 16:23:29 +02:00
Henri Verbeet 2b789778fd wined3d: Make the swapchain parameter to swapchain_blit() const. 2011-07-15 10:08:21 +02:00
Henri Verbeet 2e14d9ac0e wined3d: Make the texture parameter to texture_srgb_mode() const. 2011-07-15 10:08:18 +02:00
Henri Verbeet dd2f2c40f0 wined3d: Get rid of the useext macro.
This does nothing, since we have our own GL header.
2011-07-15 10:08:14 +02:00
Henri Verbeet 7ee4bda63e wined3d: Add stream offsets in device_stream_info_from_declaration().
They're not going to change until the next time the stream info is updated.
This would of course mainly be useful if we managed to do more than one or two
draws with the same stream info.
2011-07-15 10:08:02 +02:00
Henri Verbeet cf421e1b3f wined3d: Don't set GL_MAP_UNSYNCHRONIZED_BIT for WINED3D_BUFFER_DISCARD maps.
WINED3D_BUFFER_DISCARD means the (current) buffer contents are undefined for
subsequent operations. I.e., the map doesn't have to wait for any pending
operations to finish, and can just return a new buffer with undefined
contents. GL_MAP_UNSYNCHRONIZED_BIT means the driver doesn't wait for previous
operations to finish, and just maps a buffer that's potentially in use. Proper
synchronization is left to the application. Note that we set both
GL_MAP_INVALIDATE_BUFFER_BIT and GL_MAP_UNSYNCHRONIZED_BIT.
GL_MAP_INVALIDATE_BUFFER_BIT corresponds to WINED3D_BUFFER_DISCARD, and might
cause the driver to return a new buffer, but it's not required to make that
optimization.
2011-07-15 10:07:41 +02:00
Henri Verbeet e4d2d78500 wined3d: Pass a wined3d_state pointer to state handlers.
Instead of an entire stateblock. This is mainly useful is we ever want to call
state handlers on state not stored in a stateblock.
2011-07-14 14:11:25 +02:00
Henri Verbeet 9375a87c86 wined3d: Make the context and device parameters to find_draw_buffers_mask() const. 2011-07-14 14:11:21 +02:00
Henri Verbeet 565fcbdfb8 wined3d: Get rid of the clip status code.
I'm pretty sure this is just broken, and I'm not aware of any application
using this.
2011-07-14 14:11:18 +02:00
Henri Verbeet 5e83efa1b2 wined3d: Remove the unused untransformed field from struct wined3d_device. 2011-07-14 14:11:11 +02:00
Henri Verbeet fcf4303e1a wined3d: Store a pointer to the framebuffer state in struct wined3d_state. 2011-07-14 14:11:07 +02:00
Henri Verbeet 475225c275 wined3d: Pass a state pointer instead of a stateblock to loadVertexData(). 2011-07-13 11:52:04 +02:00
Henri Verbeet 534151a79b wined3d: Pass a state pointer instead of a stateblock to loadTexCoords(). 2011-07-13 11:51:58 +02:00
Henri Verbeet 3d28cdb691 wined3d: Pass a state pointer instead of a stateblock to loadNumberedArrays(). 2011-07-13 11:51:55 +02:00
Henri Verbeet b2d32a4966 wined3d: Make the volume parameter to volume_load() const. 2011-07-13 11:51:52 +02:00
Henri Verbeet 1791a5afd5 wined3d: Make the volume parameter to volume_bind_and_dirtify() const. 2011-07-13 11:51:49 +02:00
Henri Verbeet d67d7ebbcb wined3d: Make the shader parameter to shader_generate_main() const. 2011-07-12 11:35:12 +02:00
Henri Verbeet 48881c0792 wined3d: Make the shader parameter to vshader_get_input() const. 2011-07-12 11:35:08 +02:00
Henri Verbeet a86785d065 wined3d: Make the swapchain parameter to x11_copy_to_screen() const. 2011-07-12 11:35:05 +02:00
Henri Verbeet d1b650e959 wined3d: Explicitly pass gl_info to gen_arbfp_ffp_shader(). 2011-07-12 11:34:58 +02:00
Henri Verbeet 1f6f94675e wined3d: Only use state contained in the ffp_frag_settings structure in gen_arbfp_ffp_shader().
Note that the actual check looks off by one too.
2011-07-12 11:34:55 +02:00
Henri Verbeet c5d457c8b4 wined3d: Store a struct wined3d_bo_address in struct wined3d_stream_info_element.
Instead of using separate fields for the buffer object and offset.
2011-07-11 11:53:42 +02:00
Henri Verbeet 89bf30a25e wined3d: Return data as struct wined3d_bo_address in buffer_get_memory(). 2011-07-11 11:53:39 +02:00
Henri Verbeet a3538a1546 wined3d: Store VBO addresses in a struct wined3d_bo_address in device_stream_info_from_declaration(). 2011-07-11 11:53:35 +02:00
Henri Verbeet abfd6b479a wined3d: Make the surface parameter to d3dfmt_p8_init_palette() const. 2011-07-11 11:53:32 +02:00
Henri Verbeet 3e9930f307 wined3d: Make the device parameter to primary_render_target_is_p8() const. 2011-07-11 11:53:28 +02:00
Ričardas Barkauskas 6c5e109af7 wined3d: Introduce quirk for proper RGBA16 support. 2011-07-09 11:48:15 +02:00
Henri Verbeet a26c5f9b13 wined3d: Make the surface parameter to d3dfmt_get_conv() const. 2011-07-08 11:25:31 +02:00
Henri Verbeet aa55404682 wined3d: Make the src_surface parameter to draw_textured_quad() const. 2011-07-08 11:25:28 +02:00
Henri Verbeet 0d18f5df0e wined3d: Make the surface parameter to surface_upload_data() const. 2011-07-08 11:25:25 +02:00
Henri Verbeet faebcc0236 wined3d: Make the surface parameter to surface_translate_drawable_coords() const. 2011-07-08 11:25:21 +02:00
Henri Verbeet bb4b86f365 wined3d: Make the rt parameter to surface_set_compatible_renderbuffer() const. 2011-07-08 11:25:17 +02:00
Henri Verbeet 640234c504 wined3d: Rename "flag" to "location" in surface_modify_location(). 2011-07-07 12:31:46 +02:00
Henri Verbeet 67724d9f70 wined3d: Make the surface parameter to surface_get_texture_name() const. 2011-07-07 12:31:42 +02:00
Henri Verbeet bec379e411 wined3d: Make the current_renderbuffer field in struct wined3d_surface const. 2011-07-07 12:31:38 +02:00
Henri Verbeet 4671f86cd6 wined3d: Make the context parameter to the get_drawable_size() callback const. 2011-07-07 12:31:34 +02:00
Henri Verbeet 0a5b56083d wined3d: Make the device parameter to device_preload_textures() const. 2011-07-07 12:31:30 +02:00
Matteo Bruni 9d3cc8b012 wined3d: Make dummy textures black. 2011-07-06 19:38:46 +02:00
Henri Verbeet c0aa053a87 wined3d: Pass a state pointer instead of a device pointer to device_get_draw_rect(). 2011-07-06 11:14:38 +02:00
Henri Verbeet a7120866be wined3d: Remove the unused currentPatch field from struct wined3d_device. 2011-07-06 11:14:33 +02:00
Henri Verbeet 0df3db37ac wined3d: Explicitly pass device and state to gen_ffp_frag_op(). 2011-07-06 11:14:29 +02:00
Henri Verbeet 3ccf12a77c wined3d: Rename "flag" to "location" in surface_load_location().
This makes much more sense.
2011-07-06 11:14:20 +02:00
Henri Verbeet 590505c0a4 wined3d: Make context_create() work if the window is already destroyed. 2011-07-06 11:14:16 +02:00
Piotr Pawlow f6600263c1 wined3d: Delete cursor texture on device reset. 2011-07-05 19:27:53 +02:00
Stefan Dösinger 718c614937 wined3d: Pass a struct wined3d_fb_state * to context_apply_clear_state. 2011-07-05 17:33:56 +02:00
Stefan Dösinger 053071e343 wined3d: Pass a struct wined3d_fb_state to device_clear_render_targets. 2011-07-05 17:33:51 +02:00
Stefan Dösinger cd96c59d91 wined3d: Track framebuffer changes. 2011-07-05 17:33:43 +02:00
Stefan Dösinger d321959dd7 wined3d: Move FBO application into a state handler. 2011-07-05 17:33:35 +02:00
Stefan Dösinger 1aa85c96a9 wined3d: Rename the rt mask generation functions. 2011-07-05 17:33:22 +02:00
Henri Verbeet 4e8c7f00f2 wined3d: Print an ERR for unknown / invalid surface locations in surface_load_location(). 2011-07-05 13:46:24 +02:00
Henri Verbeet 1c3b691f10 wined3d: Introduce a separate function for loading the SFLAG_INTEXTURE and SFLAG_INSRGBTEX surface locations. 2011-07-05 13:46:20 +02:00
Henri Verbeet cabcb362c1 wined3d: Introduce a separate function for loading the SFLAG_INDRAWABLE surface location. 2011-07-05 13:46:15 +02:00
Henri Verbeet aacd8f8b93 wined3d: Introduce a separate function for loading the SFLAG_INSYSMEM surface location. 2011-07-05 13:46:11 +02:00
Henri Verbeet ddc29c40e6 wined3d: Make D3DRS_ZBIAS work.
D3DRS_ZBIAS is poorly defined, but it makes sense that the bias should be
format independent. Looking at application behaviour, it seems to include a
slope scale factor as well. This fixes a couple of regressions introduced by
96b758f7b3, although it was broken before as
well, just in a different way.
2011-07-05 13:46:07 +02:00
André Hentschel a7c1b5f02e wined3d: Remove dead code (clang). 2011-07-04 19:06:51 +02:00
Henri Verbeet 5d6f29818f wined3d: Get rid of the GL_SupportedExt typedef. 2011-07-04 13:44:52 +02:00
Henri Verbeet 82d74d563a wined3d: Get rid of the tex_op_args typedef. 2011-07-04 13:44:47 +02:00
Henri Verbeet b1664a2c85 wined3d: Get rid of some IWineD3D* references. 2011-07-04 13:44:41 +02:00
Henri Verbeet 0c716b77e5 wined3d: Move some enums to directx.c. 2011-07-04 13:44:29 +02:00
Henri Verbeet 8f6ae4ba38 wined3d: Get rid of some macros. 2011-07-04 13:44:25 +02:00
Henri Verbeet c20b23eb00 wined3d: Make the surface parameter to context_surface_update() const. 2011-07-01 14:39:35 +02:00
Henri Verbeet 2257a70e37 wined3d: Make the device parameter to context_resource_unloaded() const. 2011-07-01 14:39:35 +02:00
Henri Verbeet 6894d8022a wined3d: Make the device parameter to context_resource_released() const. 2011-07-01 14:39:35 +02:00
Henri Verbeet 53b99dde14 wined3d: Make the device and surface parameters to context_enum_surface_fbo_entries() const. 2011-07-01 14:39:35 +02:00
Henri Verbeet b3b1d20562 wined3d: Make the context parameter to context_check_fbo_status() const. 2011-07-01 14:39:35 +02:00
Henri Verbeet a8de1272da wined3d: Make the context parameter to context_attach_depth_stencil_fbo() const. 2011-06-29 10:08:44 -05:00
Henri Verbeet 0bae611bf5 wined3d: Make the context parameter to context_create_fbo_entry() const. 2011-06-29 10:08:39 -05:00
Henri Verbeet 12be5afd92 wined3d: Get rid of the glsl_sample_function_t typedef. 2011-06-29 10:08:34 -05:00
Henri Verbeet 8fa44dd76d wined3d: Get rid of the glsl_src_param_t typedef. 2011-06-29 10:08:28 -05:00
Henri Verbeet 3f62b618c4 wined3d: Get rid of the glsl_dst_param_t typedef. 2011-06-29 10:08:19 -05:00
Stefan Dösinger a27adc478a wined3d: Update the vertex shader when the clipplanes are changed. 2011-06-28 11:57:51 -05:00
Henri Verbeet ebcf08e59a wined3d: Properly destroy contexts not owned by the implcit swapchain.
In particular, set num_contexts to 0 in the swapchain that owns the contexts.
2011-06-28 10:18:37 -05:00
Henri Verbeet 560d5188b7 wined3d: Make the rts and ds parameters to context_validate_rt_config() const. 2011-06-28 10:18:30 -05:00
Henri Verbeet 64bf19d07b wined3d: Make the generate_rt_mask_no_fbo() parameters const. 2011-06-28 10:18:26 -05:00
Henri Verbeet b9721600dc wined3d: Make the target parameter to generate_rt_mask_from_surface() const. 2011-06-28 10:18:20 -05:00
Henri Verbeet 4725d4bb99 wined3d: Make the depth_stencil parameter to context_validate_onscreen_formats() const. 2011-06-28 10:18:15 -05:00
Stefan Dösinger 5e97e22951 wined3d: Separate stream sources and vertex declaration.
Changing the stream sources does not require a reapplication of the
vertex declaration. Even setting a NULL vertex buffer doesn't make
attributes disappear - it just causes a segfault on Windows.
2011-06-27 16:43:24 -05:00
Stefan Dösinger 9ed6dc9144 wined3d: Don't set FBO attachment filtering to GL_NEAREST.
The min and mag filters should not have any effect when rendering to
textures. This code was once needed to work around a bug in the Nvidia
driver. Changing the texture filter states is expensive and makes it
harder to apply the FBO state only when needed.
2011-06-27 16:43:08 -05:00
Stefan Dösinger 1bc01f8f87 wined3d: Get rid of the has_signature_idx field in the ARB ps private data. 2011-06-24 11:58:11 -05:00
Stefan Dösinger 3a3b482864 wined3d: Fix a typo in compare_sig in the arb backend. 2011-06-24 11:58:04 -05:00
Henri Verbeet c461d312ba wined3d: Request per-surface palettes in the client libs. 2011-06-24 08:49:48 -05:00
Henri Verbeet b296f181dd wined3d: Explicitly set surface alignment in the client libs.
Instead of using dxVersion.
2011-06-24 08:49:42 -05:00
Henri Verbeet fd8dbf0847 wined3d: Make the surface parameter to surface_get_gl_buffer() const. 2011-06-24 08:49:34 -05:00
Henri Verbeet 0ce282edf7 wined3d: Make the surface parameter to surface_is_offscreen() const. 2011-06-24 08:49:28 -05:00
Henri Verbeet c3c131ab34 wined3d: Only invalidate STATE_STREAMSRC for bound buffers. 2011-06-23 09:47:35 +02:00
Henri Verbeet c4da128b8f wined3d: Make the device and target parameters to FindContext() const. 2011-06-23 09:47:34 +02:00
Henri Verbeet 5a26da1d19 wined3d: Make the wined3d_shader_context shader pointer const. 2011-06-23 09:47:34 +02:00
Henri Verbeet 330ffc83f2 d3d8: Implement IDirect3DVolume8 private data handling on top of wined3d_resource. 2011-06-23 09:47:34 +02:00
Matteo Bruni 32787ec0dd wined3d: Fix draw buffers tracking. 2011-06-22 15:21:43 +02:00
Matteo Bruni 0919ac3b51 wined3d: Fix context_apply_draw_buffers() with backbuffer ORM. 2011-06-22 15:21:36 +02:00
Matteo Bruni 5b67bd4fb2 wined3d: Fix context_apply_blit_state(). 2011-06-22 15:21:27 +02:00
Henri Verbeet 42db8e2bfa wined3d: Make the context parameter to isStateDirty() const. 2011-06-22 11:25:39 +02:00
Henri Verbeet 14bc0e9ef2 wined3d: Invalidate STATE_STREAMSRC when dropping VBOs. 2011-06-22 11:25:34 +02:00
Henri Verbeet acd8c58725 ddraw: Implement surface private data handling on top of wined3d_resource. 2011-06-22 11:25:27 +02:00
Piotr Pawlow b5e04640cc wined3d: Use a separate mutex for wndproc_table access.
If CreateDevice is called with hFocusWindow belonging to another thread,
then any code that does SendMessage (or equivalent) to the window while
holding the main wined3d mutex causes a deadlock, because wined3d_wndproc
tries to acquire the same mutex for wndproc_table access.
2011-06-21 16:18:56 +02:00
Henri Verbeet 4582a0bcb3 wined3d: Make the device parameter to device_invalidate_state() const. 2011-06-21 11:25:18 +02:00
Henri Verbeet 233b8e1cf8 wined3d: Fix the STATE_BASEVERTEXINDEX state entry. 2011-06-21 11:25:15 +02:00
Henri Verbeet 265e62378f wined3d: Validate STATE_BASEVERTEXINDEX in validate_state_table(). 2011-06-21 11:25:13 +02:00
Henri Verbeet 430bac5fad wined3d: Only bother checking block alignment for compressed surfaces in wined3d_device_update_surface(). 2011-06-21 11:25:09 +02:00
Henri Verbeet 17eb3e2c74 wined3d: Initialize format block info with sane values for uncompressed formats. 2011-06-21 11:25:06 +02:00
Stefan Dösinger 73cec67c14 wined3d: Link STATE_BASEVERTEXINDEX to STATE_VDECL. 2011-06-20 19:32:02 +02:00
Stefan Dösinger 2daa16c96c wined3d: Use base_vertex_index in drawStridedSlow, and only for indexed draws. 2011-06-20 19:32:02 +02:00
Henri Verbeet 792060d67f d3d8: Implement IDirect3DVolumeTexture8 private data handling on top of wined3d_resource. 2011-06-20 11:28:40 +02:00
Henri Verbeet 732338ab35 d3d9: Implement IDirect3DCubeTexture9 private data handling on top of wined3d_resource. 2011-06-20 11:28:22 +02:00
Stefan Dösinger 68b15bc5ff wined3d: Give GL_ARB_map_buffer_range another try.
Nvidia's 270.xx.yy driver series fix the glMapBuffer alignment issues that caused major
performance problems. If the user is using an older driver we now drop the VBO instead of using
doublebuffered loading, which means that we fall back to the current behavior(no dynamic VBO) as
needed. Dynamic VBOs are needed on Nvidia drivers for GL_ARB_instanced_arrays.
2011-06-17 15:37:45 +02:00
Stefan Dösinger 12140b5158 wined3d: Drop the VBO when the GL alignment doesn't fit on dynamic buffers. 2011-06-17 15:37:41 +02:00
Stefan Dösinger 19a1b74252 wined3d: Add STATE_BASEVERTEXINDEX to debug_d3dstate. 2011-06-17 15:37:31 +02:00
Henri Verbeet 37d70103a1 d3d8: Implement IDirect3DIndexBuffer8 private data handling on top of wined3d_resource. 2011-06-17 11:02:43 +02:00
Henri Verbeet 469eba24c0 d3d9: Implement IDirect3DVertexBuffer9 private data handling on top of wined3d_resource. 2011-06-17 11:02:28 +02:00
Henri Verbeet 45a0e95962 wined3d: Only load the surface for partial updates in wined3d_device_update_surface(). 2011-06-17 11:02:21 +02:00
Henri Verbeet 3a1d151561 wined3d: Use surface_load_location() instead of surface_internal_preload() in wined3d_device_update_surface(). 2011-06-17 11:02:18 +02:00
Henri Verbeet 26eb6c8eea wined3d: Check the correct debug class in checkGLcall. 2011-06-16 11:16:41 +02:00
Henri Verbeet 4621568922 wined3d: Only invert viewport y for onscreen destinations in surface_depth_blt().
This fixes a regression introduced by
032f8702ed.
2011-06-16 11:16:31 +02:00
Henri Verbeet c51db63ba4 wined3d: Require ARB_shader_texture_lod for SM3. 2011-06-16 11:16:26 +02:00
Henri Verbeet 6f710d18fc wined3d: Fix source rectangle validation in wined3d_device_update_surface(). 2011-06-16 11:16:19 +02:00
Henri Verbeet 8153674c4a wined3d: Don't clear the alloc flags in wined3d_surface_set_format().
Changing the format is only allowed for surfaces with format
WINED3DFMT_UNKNOWN, in which case there can't be a GL texture allocated.
2011-06-15 20:04:38 +02:00
Henri Verbeet c19c26e4be wined3d: Check the source rectangle is a multiple of the format block size in wined3d_device_update_surface(). 2011-06-15 12:51:51 +02:00
Henri Verbeet 410a8e86f5 wined3d: Check for a valid source rectangle and destination in wined3d_device_update_surface(). 2011-06-15 12:51:50 +02:00
Henri Verbeet b9133d7de0 wined3d: Implement wined3d_device_update_surface() on top of surface_upload_data(). 2011-06-15 12:51:49 +02:00
Stefan Dösinger a421278625 wined3d: Invalidate STATE_STREAMSRC in wined3d_device_draw_indexed_primitive_up. 2011-06-14 13:43:56 +02:00
Stefan Dösinger dafd31861a wined3d: Use GL_ARB_draw_elements_base_vertex if available. 2011-06-14 13:43:56 +02:00
Stefan Dösinger 7de2fa2670 wined3d: Add GL_ARB_draw_elements_base_vertex. 2011-06-14 13:43:56 +02:00
Marcus Meissner 2bcd439818 wined3d: Don't just print a FIXME on error, handle it (Coverity). 2011-06-13 11:30:07 +02:00
Stefan Dösinger 2e3cf68e0b wined3d: Silence R16 and AL16 fourcc warnings. 2011-06-10 10:45:42 +02:00
Stefan Dösinger 663fac5bcd wined3d: Set last_was_blit to FALSE in the if condition that checks for it. 2011-06-10 10:45:38 +02:00
Stefan Dösinger 7b39005256 wined3d: Don't check the FBO status if FIXMEs are off. 2011-06-10 10:45:35 +02:00
Henri Verbeet 980c50a087 wined3d: Move PBO handling mostly out of surface_upload_data().
Currently we essentially get half of the address from the caller and half from
the destination surface. Since we'd like to use surface_upload_data() for
wined3d_device_update_surface() as well, we should get all of it from the
caller.
2011-06-10 10:44:39 +02:00
Henri Verbeet a1b8f254b1 wined3d: Get rid of a NULL check for surface_upload_data(). 2011-06-10 10:44:32 +02:00
Henri Verbeet 9f3e6a20e8 wined3d: Handle unpack row length inside surface_upload_data(). 2011-06-10 10:44:26 +02:00
Henri Verbeet ee6d550b2e wined3d: Rename IWineD3DImpl_FillGLCaps() to wined3d_adapter_init_gl_caps(). 2011-06-10 10:44:20 +02:00
Henri Verbeet d5c9523a83 wined3d: Rename IWineD3DDeviceImpl_UpdateVolume() to device_update_volume(). 2011-06-10 10:44:17 +02:00
Henri Verbeet 5173f9f05f wined3d: Rename IWineD3DDeviceImpl_LoadLogo() to device_load_logo(). 2011-06-08 14:12:40 +02:00
Henri Verbeet da125e6bca wined3d: cfg can never be NULL in wined3d_check_pixel_format_color(). 2011-06-08 14:12:40 +02:00
Henri Verbeet c24c2d1eac wined3d: Rename IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt() to wined3d_check_pixel_format_color(). 2011-06-08 14:12:40 +02:00
Matteo Bruni c23a5443c1 wined3d: Simplify context_apply_draw_buffers() a bit. 2011-06-07 18:12:03 +02:00
Matteo Bruni 002674e49d wined3d: Fix glDrawBuffers() optimization. 2011-06-07 18:12:01 +02:00
Henri Verbeet be180bed7c wined3d: cfg can never be NULL in wined3d_check_pixel_format_depth(). 2011-06-07 14:18:34 +02:00
Henri Verbeet fec6137de2 wined3d: Rename IWineD3DImpl_IsPixelFormatCompatibleWithDepthFmt to wined3d_check_pixel_format_depth(). 2011-06-07 14:18:34 +02:00
Henri Verbeet 01e668b007 wined3d: Use GL_DEPTH_COMPONENT as internal format for depth_blt_texture.
This also changes the texture level to always be zero while we're at it. In
practice depth/stencil textures should rarely have multiple levels, if ever,
but only 0 makes sense here.
2011-06-07 14:18:34 +02:00
Henri Verbeet 95bd0ec61c wined3d: Just enable ARB_shader_texture_lod if it's available. 2011-06-07 14:18:34 +02:00
Henri Verbeet 1fbdfd625a wined3d: Get rid of wined3d_texture_get_type(). 2011-06-07 14:18:34 +02:00
Henri Verbeet 84ce0020f4 wined3d: Rename Context_MarkStateDirty() to context_invalidate_state(). 2011-06-06 16:18:48 +02:00
Henri Verbeet c8f26a1345 wined3d: Rename IWineD3DDeviceImpl_MarkStateDirty() to device_invalidate_state(). 2011-06-06 16:18:41 +02:00
Henri Verbeet 708d94212b wined3d: Don't clamp vertex depth values.
Since we report D3DPMISCCAPS_CLIPTLVERTS.
2011-06-06 16:18:33 +02:00
Matteo Bruni 6647c8f72d wined3d: Mark some texture formats as filterable. 2011-06-03 12:46:07 +02:00
Piotr Pawłow bc9407a452 wined3d: Set container of swapchain surfaces to WINED3D_CONTAINER_NONE in swapchain_init() error path. 2011-06-02 16:22:44 +02:00
Stefan Dösinger 5b9daccc66 wined3d: Call context_apply_draw_buffers under the GL lock. 2011-05-27 17:53:37 +02:00
Stefan Dösinger dda91ac02a wined3d: Call frag_pipe->enable_extension under the GL lock. 2011-05-26 16:41:14 +02:00
Stefan Dösinger dbd8786394 wined3d: CMP supports _SAT.
This is a partial revert of c9ef1ed28c. I don't know where I got the
idea that CMP does not support _SAT, but I suspect that my driver at the time was broken.
2011-05-25 12:23:10 +02:00
Henri Verbeet b396886e5d wined3d: Get rid of an unintentional variable. 2011-05-25 11:49:33 +02:00
Henri Verbeet 019f6a8534 wined3d: Mask out writes to unused render targets.
Outputs not written by the pixel shader are undefined in GL, but in D3D the
render target is unmodified.
2011-05-25 11:49:23 +02:00