Commit Graph

5479 Commits

Author SHA1 Message Date
Henri Verbeet 4229d865d2 wined3d: Only try to load surfaces from the drawable if the drawable is current in surface_load_sysmem(). 2011-10-24 11:16:27 +02:00
Henri Verbeet f28ba9007e wined3d: Make the device parameter to context_choose_pixel_format() const. 2011-10-21 12:09:46 +02:00
Henri Verbeet a2c754dde8 wined3d: Make the device parameter to wined3d_device_get_surface_from_dc() const. 2011-10-21 12:09:43 +02:00
Henri Verbeet 5f6dd5384c wined3d: Move the cursor in wined3d_device_set_cursor_position(). 2011-10-21 12:09:34 +02:00
Henri Verbeet da32d34439 wined3d: Make the device parameter to wined3d_device_get_gamma_ramp() const. 2011-10-20 11:03:28 +02:00
Henri Verbeet 23ee1a451b wined3d: Make the device parameter to wined3d_device_set_gamma_ramp() const. 2011-10-20 11:03:22 +02:00
Henri Verbeet 82f067f5cd wined3d: Allow loading multisampled surfaces into sysmem. 2011-10-20 11:02:57 +02:00
Henri Verbeet 73723911aa wined3d: Make the device parameter to wined3d_device_get_creation_parameters() const. 2011-10-19 12:24:43 +02:00
Henri Verbeet d607586d62 wined3d: Make the present_parameters parameter to wined3d_device_reset() const. 2011-10-19 12:24:36 +02:00
Henri Verbeet 3042860478 wined3d: Detach any attached overlays on surface cleanup.
Spotted by Dan Kegel / Valgrind.
2011-10-19 12:23:47 +02:00
Henri Verbeet 6cc9a89c8a wined3d: Make the device parameter to is_display_mode_supported() const. 2011-10-18 15:10:33 +02:00
Henri Verbeet 71640e00f9 wined3d: Make the device parameter to invalidate_active_texture() const. 2011-10-18 15:10:27 +02:00
Henri Verbeet 68e1484bec wined3d: Mark default pool surfaces lost when they're unloaded. 2011-10-18 15:10:13 +02:00
Henri Verbeet ca43c49968 wined3d: Keep surfaces in sysmem if they're both already there in wined3d_surface_blt().
The idea is to avoid bouncing surfaces between the CPU and GPU when doing both
locks and blits on a surface. This is mostly an issue for ddraw applications.
2011-10-18 15:10:06 +02:00
Marcus Meissner f90d402610 wined3d: Fixed sizeof (Coverity). 2011-10-17 17:45:03 +02:00
Henri Verbeet fcd1de2b09 wined3d: Make the device parameter to wined3d_device_get_depth_stencil() const. 2011-10-17 17:45:02 +02:00
Henri Verbeet ebbd5ecf7c wined3d: Make the device parameter to wined3d_device_get_render_target() const. 2011-10-17 17:45:02 +02:00
Henri Verbeet 25b1130b44 wined3d: Also restore the pixel format in context_restore_gl_context(). 2011-10-17 17:45:02 +02:00
Henri Verbeet cdc9aadf5c wined3d: Don't try to access the swapchain of a destroyed context in context_set_gl_context(). 2011-10-17 17:45:02 +02:00
Henri Verbeet dfea2ab6f4 wined3d: Don't bother updating the context's window in context_destroy_gl_resources().
context_update_window() accesses the swapchain, which may not exist if this is
a destroyed context, and we don't do anything that needs displaying here
anyway.
2011-10-17 17:45:02 +02:00
Andrew Talbot 819225d98b wined3d: Mark some fall-throughs in switch statements. 2011-10-14 13:12:28 +02:00
Henri Verbeet a9fcaed610 wined3d: Make the device parameter to wined3d_device_get_npatch_mode() const. 2011-10-14 13:12:27 +02:00
Henri Verbeet 39f898b26a wined3d: Make the device parameter to wined3d_device_get_raster_status() const. 2011-10-14 13:12:27 +02:00
Henri Verbeet 7ffa768e71 wined3d: Cleanup context_create() error handling a bit. 2011-10-14 13:12:27 +02:00
Henri Verbeet 67b097cd6e wined3d: Get rid of the mostly unused "pfd" variable in context_create(). 2011-10-14 13:12:27 +02:00
Matteo Bruni 35f7610630 wined3d: Remove an obsolete comment. 2011-10-13 19:57:19 +02:00
Austin English aacbc7e2b7 wined3d: Recognize "Brian Paul" as a mesa card vendor. 2011-10-13 19:57:19 +02:00
Henri Verbeet 652d80d9d8 wined3d: Make the device parameter to wined3d_device_get_software_vertex_processing() const. 2011-10-11 19:43:41 +02:00
Henri Verbeet dd2378cbf2 wined3d: Make the device parameter to wined3d_device_validate_device() const. 2011-10-11 19:43:38 +02:00
Henri Verbeet 229662fc46 wined3d: Make the device parameter to wined3d_device_get_front_buffer_data() const. 2011-10-11 19:43:35 +02:00
Stefan Dösinger 496b438ede wined3d: Remove d3d8/9 palette support. 2011-10-11 13:37:49 +02:00
Henri Verbeet 39a8ed3a00 wined3d: Make the device parameter to wined3d_device_get_primitive_type() const. 2011-10-10 13:40:38 +02:00
Henri Verbeet 739a9d9805 wined3d: Return WINED3DERR_NOTFOUND if the render target is NULL in wined3d_device_get_render_target().
This is similar to how wined3d_device_get_depth_stencil() works.
2011-10-10 13:39:39 +02:00
Henri Verbeet adf9e6120d wined3d: Make the device parameter to wined3d_device_present() const. 2011-10-03 14:38:56 -05:00
Matteo Bruni 2a146448f4 wined3d: When creating a new shader, check shader type and version. 2011-09-26 17:57:48 +02:00
Henri Verbeet 013991e6e4 wined3d: Make the device parameter to wined3d_device_get_display_mode() const. 2011-09-22 09:39:16 +02:00
Henri Verbeet 72d75b65b7 wined3d: Make the device parameter to wined3d_device_get_device_caps() const. 2011-09-22 09:39:14 +02:00
Rico Schüller ef62e41fca wined3d: Fix spelling. 2011-09-21 11:35:43 +02:00
Henri Verbeet 5177a5f686 wined3d: Make the device parameter to wined3d_device_get_back_buffer() const. 2011-09-20 16:21:38 +02:00
Henri Verbeet 11323b4416 wined3d: Make the device parameter to wined3d_device_get_texture() const. 2011-09-20 16:21:38 +02:00
Henri Verbeet 5609f062d2 wined3d: Dump the WINEDDBLTFX structure in wined3d_surface_blt(). 2011-09-20 16:21:38 +02:00
Henri Verbeet ba69e7802a wined3d: Make the device parameter to wined3d_device_get_texture_stage_state() const. 2011-09-19 17:56:05 +02:00
Henri Verbeet fda48415ac wined3d: Make the declaration parameter to wined3d_device_process_vertices() const. 2011-09-19 17:56:05 +02:00
Henri Verbeet 0ad7e98d24 wined3d: Make the device parameter to process_vertices_strided() const. 2011-09-16 17:23:08 +02:00
Henri Verbeet a61fe27fb8 wined3d: Make the device parameter to wined3d_device_get_ps_consts_f() const. 2011-09-16 17:23:08 +02:00
Henri Verbeet b9fcf71c71 ddraw: Use real flips. 2011-09-16 17:23:08 +02:00
Stefan Dösinger eb79a26493 wined3d: Only the ARBfp fragement pipeline reads emulated clip coords. 2011-09-15 15:41:41 +02:00
Stefan Dösinger 9bcd58f312 wined3d: Disable range fog with per-pixel fog. 2011-09-15 15:41:41 +02:00
Henri Verbeet 73a4deb0b8 wined3d: Make the device parameter to wined3d_device_get_ps_consts_i() const. 2011-09-15 15:41:40 +02:00
Henri Verbeet fc488f4949 wined3d: Make the device parameter to wined3d_device_get_ps_consts_b() const. 2011-09-15 15:41:40 +02:00
Henri Verbeet 8009a4947b wined3d: Flush after surface updates.
This is similar to 5d1d07abcf. We need to flush
to ensure resource updates are visible in other contexts, since otherwise GL
doesn't make any ordering guarantees between contexts.
2011-09-15 15:41:40 +02:00
Henri Verbeet 65064a09ce wined3d: Make the device parameter to wined3d_device_get_pixel_shader() const. 2011-09-14 09:59:20 +02:00
Henri Verbeet 8a12e951e6 wined3d: Make the device parameter to device_unit_free_for_vs() const. 2011-09-14 09:59:18 +02:00
Henri Verbeet c67ca538bb wined3d: Make the device parameter to wined3d_device_get_vs_consts_f() const. 2011-09-13 09:19:57 +02:00
Henri Verbeet 4ba464bd4c wined3d: Rename markTextureStagesDirty() to device_invalidate_texture_stage(). 2011-09-13 09:19:53 +02:00
Henri Verbeet 66637ea35c wined3d: Don't print the context recreation FIXME for FBO ORM.
With FBOs we can just render offscreen to an appropriate depth/stencil buffer.
2011-09-13 09:19:46 +02:00
Stefan Dösinger efba48ccfb wined3d: Don't load/unload unsupported texture coordinate attribs. 2011-09-12 10:09:48 +02:00
Stefan Dösinger ec0ac720bf wined3d: Make sure that lit doesn't return NaN. 2011-09-12 10:09:34 +02:00
Henri Verbeet d7fa599974 wined3d: Make the device parameter to wined3d_device_get_vs_consts_i() const. 2011-09-12 10:09:07 +02:00
Henri Verbeet 098d30946d wined3d: Make the device parameter to wined3d_device_get_vs_consts_b() const. 2011-09-12 10:09:03 +02:00
Matteo Bruni 53bb382706 wined3d: Report more vertex texture formats. 2011-09-09 13:33:58 +02:00
Henri Verbeet 5385e1b3df wined3d: Make the device parameter to wined3d_device_get_vertex_shader() const. 2011-09-09 13:33:39 +02:00
Henri Verbeet 31906458da wined3d: Make the device parameter to wined3d_device_get_vertex_declaration() const. 2011-09-09 13:33:36 +02:00
Henri Verbeet bbb77cba74 wined3d: Add support for flipping compressed surfaces to surface_cpu_blt(). 2011-09-09 13:33:33 +02:00
Henri Verbeet 5c57b53a6c wined3d: Use the CPU blitter for blitting to converted surfaces. 2011-09-09 13:33:25 +02:00
Henri Verbeet e82e1c2ac5 wined3d: Disable sRGB decoding in draw_textured_quad().
We're always supposed to draw the RGB texture here. sRGB decoding may be
enabled if sRGB decoding was enabled to last time the surface was used as a
texture, or if it was never used as a texture at all.
2011-09-09 13:33:22 +02:00
Gerald Pfeifer 0affcc3a7d wined3d: Remove dead code (and variable) from wined3d_surface_flip. wined3d_surface_flip. 2011-09-08 20:08:06 +02:00
Henri Verbeet 20e9b3f13f wined3d: Make the device parameter to wined3d_device_get_scissor_rect() const. 2011-09-08 11:11:27 +02:00
Henri Verbeet 919d3ab9e4 wined3d: Make the device parameter to wined3d_device_get_sampler_state() const. 2011-09-08 11:11:24 +02:00
Henri Verbeet 19da825b12 wined3d: Use draw_binding for the surface_modify_location() call in surface_unmap() as well. 2011-09-08 11:11:10 +02:00
Henri Verbeet 33f087c95d wined3d: Make the device parameter to wined3d_device_get_render_state() const. 2011-09-07 11:12:52 +02:00
Henri Verbeet b55dcfd35a wined3d: Make the device parameter to wined3d_device_get_viewport() const. 2011-09-07 11:12:48 +02:00
Henri Verbeet 79c438b2f2 wined3d: Implement wined3d_surface_flip() as a blit.
This allows us to actually take the "override" parameter into account. Plain
back -> front flips will be detected in wined3d_surface_flip() and will still
be handled by wined3d_swapchain_present().
2011-09-07 11:12:17 +02:00
Henri Verbeet cf010c563c wined3d: Make the device parameter to wined3d_device_get_base_vertex_index() const. 2011-09-06 10:48:43 +02:00
Henri Verbeet cb82e57290 wined3d: Make the device parameter to wined3d_device_get_index_buffer() const. 2011-09-06 10:48:41 +02:00
Henri Verbeet 1b9bc1a950 wined3d: Try doing a present in wined3d_surface_blt() instead of IWineD3DSurfaceImpl_BltOverride(). 2011-09-06 10:48:36 +02:00
Henri Verbeet b86d69de16 wined3d: Don't override the swapchain present interval in IWineD3DSurfaceImpl_BltOverride(). 2011-09-06 10:48:31 +02:00
Henri Verbeet 9ae5d06e77 wined3d: Make the device parameter to wined3d_device_get_material() const. 2011-09-05 10:57:03 +02:00
Henri Verbeet 23b4be9155 wined3d: Make the device parameter to wined3d_device_get_clip_status() const. 2011-09-05 10:57:00 +02:00
Henri Verbeet 3346fc747c wined3d: Get rid of the rect checks for present in IWineD3DSurfaceImpl_BltOverride(). 2011-09-05 10:56:54 +02:00
Henri Verbeet 74b418c9e0 wined3d: Don't print the GLSL info log by default on fglrx. 2011-09-05 10:56:46 +02:00
Ričardas Barkauskas 9425e1be83 wined3d: Add support for Nvidia GT 555M. 2011-09-02 18:28:25 +02:00
Henri Verbeet d23938de1e wined3d: Make the device parameter to wined3d_device_get_clip_plane() const. 2011-09-02 10:09:08 +02:00
Henri Verbeet 3659d5d729 wined3d: Make the device parameter to wined3d_device_get_light_enable() const. 2011-09-02 10:09:06 +02:00
Henri Verbeet ca69a23d52 wined3d: Get rid of some redundant else statements in IWineD3DSurfaceImpl_BltOverride(). 2011-09-02 10:09:01 +02:00
Henri Verbeet 179d6f8087 wined3d: Remove a redundant compare in IWineD3DSurfaceImpl_BltOverride().
If the source surface isn't on the destination swapchain it can't be a
backbuffer there either.
2011-09-02 10:08:57 +02:00
Henri Verbeet cc10600b52 wined3d: Print a FIXME for any flags passed to wined3d_surface_flip(). 2011-09-02 10:08:53 +02:00
Henri Verbeet 9d9baef789 wined3d: Make the device parameter to wined3d_device_get_light() const. 2011-09-01 18:06:37 +02:00
Henri Verbeet 82150458b4 wined3d: Make the device parameter to wined3d_device_get_transform() const. 2011-09-01 18:06:37 +02:00
Henri Verbeet 55ce85ad29 wined3d: Merge the wined3d_surface_flip() implementations. 2011-09-01 18:06:36 +02:00
Henri Verbeet b587b85394 wined3d: Merge the wined3d_surface_set_mem() implementations. 2011-09-01 18:06:36 +02:00
Austin English b2f7461a4d wined3d: Remove an unused variable. 2011-09-01 18:06:36 +02:00
Henri Verbeet 124cdf913a wined3d: Make the device parameter to wined3d_device_get_stream_source_freq() const. 2011-08-31 19:43:05 +02:00
Henri Verbeet cfbecf9380 wined3d: Make the device parameter to wined3d_device_get_stream_source() const. 2011-08-31 19:43:05 +02:00
Henri Verbeet c89a3ffe80 ddraw: Get rid of the surface implementation switching code. 2011-08-31 19:42:52 +02:00
Henri Verbeet dd462052c6 wined3d: Use the resource size for copying between a surface's DIB and PBO. 2011-08-31 12:07:57 +02:00
Marcus Meissner 7023964865 wined3d: Remove a useless NULL check (Coverity). 2011-08-30 17:27:25 +02:00
Maxime Lombard ef604e3826 wined3d: Add support for Nvidia GTX 460M. 2011-08-30 12:46:46 +02:00
Andrew Talbot 094dd38b00 wined3d: Remove unneeded address-of operators from function names. 2011-08-30 11:56:48 +02:00
Henri Verbeet 1870353c7a wined3d: Replace "DirectDraw stuff" with per-adapter screen information. 2011-08-29 19:42:20 +02:00
Henri Verbeet e7f61b8c61 wined3d: Make the device parameter to wined3d_device_get_available_texture_mem() const. 2011-08-29 19:42:14 +02:00
Henri Verbeet e1f83fd205 wined3d: Make the device parameter to wined3d_device_get_wined3d() const. 2011-08-29 12:08:21 +02:00
Henri Verbeet 2ff7a356d2 wined3d: Make the device parameter to wined3d_device_get_swapchain() const. 2011-08-29 12:08:21 +02:00
Henri Verbeet a3f23541c1 wined3d: Make the device parameter to wined3d_device_get_swapchain_count() const. 2011-08-29 12:08:21 +02:00
Henri Verbeet d5c2ba6d62 wined3d: Make the target parameter to is_full_clear() const. 2011-08-29 12:08:20 +02:00
Henri Verbeet 78cbe0bc74 wined3d: Rename WineD3DAdapterChangeGLRam() to adapter_adjust_memory().
And make it work on an adapter instead of a device.
2011-08-29 12:08:20 +02:00
Matteo Bruni c74c544cc6 wined3d: Store maximum vertex attributes count. 2011-08-29 12:08:19 +02:00
Matteo Bruni afeecfd974 wined3d: Rename dummyTextureName variable. 2011-08-29 12:08:19 +02:00
Matteo Bruni 7c6bd2f287 wined3d: Use dummy textures for all the texture targets. 2011-08-29 12:08:19 +02:00
Matteo Bruni 0386b44bad wined3d: Keep track of the current texture type for each texture unit. 2011-08-29 12:08:19 +02:00
Henri Verbeet 8a2b435dd3 wined3d: Enable multisampling by default. 2011-08-26 11:28:50 +02:00
Henri Verbeet 641f52ef96 wined3d: Add multisampling support. 2011-08-26 11:28:47 +02:00
Henri Verbeet bd5f948682 wined3d: Get rid of the current multisampling support.
It doesn't really work, and trying to make multisampling work with onscreen
rendering is probably more trouble than it's worth, both for us and the
driver.
2011-08-26 11:28:25 +02:00
Henri Verbeet eec2c634a6 wined3d: Introduce a separate function for attaching depth / stencil renderbuffers. 2011-08-26 11:28:01 +02:00
Henri Verbeet be76133b7b wined3d: Explicitly specify the resource location to context_attach_depth_stencil_fbo(). 2011-08-26 11:27:57 +02:00
Henri Verbeet 9aaf0a30b7 wined3d: Also print an attachment's multisample type in context_check_fbo_status(). 2011-08-26 11:27:53 +02:00
Henri Verbeet 3b478afd10 wined3d: Get rid of the location fixup in surface_blt_fbo(). 2011-08-26 11:27:50 +02:00
Henri Verbeet eac640532d wined3d: Get rid of the location fixup for ORM_FBO in surface_modify_location(). 2011-08-26 11:27:46 +02:00
Henri Verbeet 68a5305dfd wined3d: Get rid of the location fixup for ORM_FBO in surface_load_location(). 2011-08-26 11:27:43 +02:00
Henri Verbeet 98277e1fc6 wined3d: Simplify context_apply_fbo_state_blit(). 2011-08-26 11:27:39 +02:00
Matteo Bruni 36a22dfa33 wined3d: Don't change active texture to 0. 2011-08-25 11:31:55 +02:00
Matteo Bruni d485e04576 wined3d: Fetch currently active texture unit from the wined3d_context. 2011-08-25 11:31:55 +02:00
Matteo Bruni f47f9f7c74 wined3d: Store currently active texture in the wined3d context. 2011-08-25 11:31:55 +02:00
Matteo Bruni e53ae83d74 wined3d: Pass around the context instead of gl_info. 2011-08-25 11:31:55 +02:00
Matteo Bruni be8ea9c36e wined3d: Make context_acquire() unconditional in a bunch of places. 2011-08-25 11:31:55 +02:00
Henri Verbeet 4503f3d5af wined3d: Pass a gl_info pointer to select_blit_implementation(). 2011-08-25 11:31:54 +02:00
Henri Verbeet 9aa4f895f0 wined3d: Pass a gl_info pointer to select_shader_backend(). 2011-08-25 11:31:54 +02:00
Henri Verbeet 86af42a46a wined3d: Pass a gl_info pointer to select_fragment_implementation(). 2011-08-25 11:31:54 +02:00
Henri Verbeet f65a1ed272 wined3d: Bind the system framebuffer based on the actual location in context_apply_fbo_state().
We can do this now because SFLAG_INDRAWABLE is no longer ambiguous.
2011-08-25 11:31:54 +02:00
Henri Verbeet 47c5711fe2 wined3d: Use draw_binding in context_apply_blit_state(). 2011-08-25 11:31:54 +02:00
Henri Verbeet f0d8f2aa89 wined3d: Use draw_binding in swapchain_gl_present(). 2011-08-25 11:31:53 +02:00
Henri Verbeet 6cdfb95c8e wined3d: Use draw_binding in surface_unload(). 2011-08-25 11:31:53 +02:00
Henri Verbeet 1d43f07239 wined3d: Use draw_binding in surface_realize_palette(). 2011-08-25 11:31:53 +02:00
Henri Verbeet 683b52ed92 wined3d: Use draw_binding in surface_unmap(). 2011-08-25 11:31:53 +02:00
Henri Verbeet 1ae498dc59 wined3d: Use draw_binding in IWineD3DSurfaceImpl_BltOverride(). 2011-08-25 11:31:53 +02:00
Ričardas Barkauskas e110c08cc8 wined3d: Avoid dereferencing null pointer in context_apply_clear_state when calling context_generate_rt_mask_from_surface. 2011-08-24 21:18:37 +02:00
Henri Verbeet f80301e3e6 wined3d: Make the gl_info parameter to wined3d_guess_gl_vendor() const. 2011-08-24 11:58:15 +02:00
Henri Verbeet a88611210f wined3d: Make the ctx parameter to WineD3D_ReleaseFakeGLContext() const. 2011-08-24 11:58:15 +02:00
Henri Verbeet 22f5d0081f wined3d: Make the device parameter to drawStridedSlow() const. 2011-08-24 11:58:15 +02:00
Henri Verbeet 4673330cf4 wined3d: Use draw_binding in wined3d_surface_blt(). 2011-08-24 11:58:15 +02:00
Henri Verbeet 99da66429b wined3d: Use draw_binding in device_clear_render_targets(). 2011-08-24 11:58:15 +02:00
Henri Verbeet 317d76abb4 wined3d: Use draw_binding in arbfp_blit_surface(). 2011-08-24 11:58:14 +02:00
Henri Verbeet e57b20c215 wined3d: Keep track of a surface's "draw location". 2011-08-24 11:58:14 +02:00
Henri Verbeet f73593c572 wined3d: Set the current location to SFLAG_INTEXTURE instead of SFLAG_INDRAWABLE in wined3d_surface_depth_blt().
These currently end up being the same thing, but that will change soon.
2011-08-24 11:58:14 +02:00
Henri Verbeet 620c81dc76 wined3d: Add a registry key to disable rendering swapchains onscreen.
We'll probably want to make this default to TRUE at some point, but at least
for the moment there still seem to be some performance advantages to rendering
onscreen in most cases.
2011-08-24 11:58:14 +02:00
Henri Verbeet 4b1ba0e02d wined3d: Don't get rid of the user memory unless we're actually called with NULL in surface_set_mem().
In particular, some applications will call surface_set_mem() with the same
pointer to notify us the contents have changed.
2011-08-24 11:58:14 +02:00
Stefan Dösinger 2459d79b53 wined3d: Disable WINED3DFMT_S1_UINT_D15_UNORM and WINED3DFMT_S4X4_UINT_D24_UNORM. 2011-08-24 11:52:07 +02:00
Stefan Dösinger 5d1d07abcf wined3d: Call glFlush after updating a buffer. 2011-08-24 11:52:06 +02:00
Henri Verbeet 7d46943067 wined3d: Make some parameters to get_glsl_program_entry() const. 2011-08-23 16:53:52 +02:00
Henri Verbeet 3b3470b151 wined3d: Make the shader parameter to shader_glsl_generate_vshader() const. 2011-08-23 16:53:52 +02:00
Henri Verbeet f75675031f wined3d: Make the shader parameter to shader_glsl_generate_pshader() const. 2011-08-23 16:53:52 +02:00
Henri Verbeet 9de5372036 wined3d: Introduce a function to update a swapchain's render_to_fbo field. 2011-08-23 16:53:51 +02:00
Henri Verbeet 7b19efd9d5 wined3d: Just call resource_unload() in updateSurfaceDesc().
Instead of trying to duplicate the functionality.
2011-08-23 16:53:51 +02:00
Henri Verbeet b474225386 wined3d: Only delete the GL contexts after unloading resources in wined3d_device_reset().
The updateSurfaceDesc() calls potentially make GL calls.
2011-08-23 16:53:51 +02:00
Henri Verbeet 9df014b9de wined3d: Rename WineD3D_ChoosePixelFormat() to context_choose_pixel_format(). 2011-08-23 16:53:51 +02:00
Henri Verbeet 48911d7a1c wined3d: Reject color blits on sysmem surfaces in ffp_blit_supported(). 2011-08-23 16:53:51 +02:00
Henri Verbeet f58e55ec6c wined3d: Move arbfp based color blits from IWineD3DSurfaceImpl_BltOverride() to wined3d_surface_blt(). 2011-08-23 16:53:51 +02:00
Henri Verbeet c592d553f0 wined3d: Reject color blits on sysmem surfaces in arbfp_blit_supported(). 2011-08-23 16:53:51 +02:00
Stefan Dösinger 0fc7cd5ad7 wined3d: Invalidate streamsrc, vdecl and indexbuffer after strided draws. 2011-08-22 19:49:39 +02:00
Michael Stefaniuc 42a6455ea5 wined3d: Sync a function prototype with its definition. 2011-08-22 19:49:39 +02:00
Chris Robinson 342d2b8979 wined3d: Don't use the old depth-stencil surface after decrementing its ref count. 2011-08-22 17:22:48 +02:00
Henri Verbeet a04f0e9c78 wined3d: Move FBO based color blits from IWineD3DSurfaceImpl_BltOverride() to wined3d_surface_blt(). 2011-08-22 16:14:37 +02:00
Henri Verbeet d063ff55e7 wined3d: Move surface_color_fill() based color fills from IWineD3DSurfaceImpl_BltOverride() to wined3d_surface_blt(). 2011-08-22 16:14:37 +02:00
Henri Verbeet a887128ffd wined3d: Reject color fills on sysmem surfaces in ffp_blit_supported(). 2011-08-22 16:14:36 +02:00
Henri Verbeet 18434ddc57 wined3d: Directly call surface_cpu_blt() in cpu_blit_color_fill().
And avoid a potential infinite recursion if wined3d_surface_blt() ends up
calling cpu_blit_color_fill().
2011-08-22 16:14:36 +02:00
Henri Verbeet 26484c9200 wined3d: Allow color fills on FBO attachable surfaces in ffp_blit_supported(). 2011-08-22 16:14:36 +02:00
Henri Verbeet e1ab5f6e6b wined3d: Don't allow blits with an invalid destination rectangle when a clipper is set either.
Clippers don't really work. Previously we mostly didn't run into this because
the rectangle was already rejected by ddraw_surface7_Blt(), although
ddraw_surface7_BltFast() might have been affected in a couple of cases. We
should of course implement clippers, but until that happens, completely
rejecting the blit is better than introducing memory corruption.

This fixes a regression introduced by commit
92e616f355.
2011-08-22 16:14:36 +02:00
Henri Verbeet f8ce77a598 wined3d: Draw buffers are per-framebuffer state. 2011-08-22 16:14:36 +02:00
Henri Verbeet 34b2956e23 wined3d: Merge FindContext() into context_acquire().
This actually fixes a bug. A context's current_rt field may get set to NULL if
that surface gets destroyed or unloaded. In general, the next time that
context is acquired, context_setup_target() will then set everything up again.
However, if a context_acquire() call with a NULL target ends up returning such
a context, context_setup_target() never sets the current_rt field because the
target FindContext() chooses never gets propagated to context_acquire(). This
patch ensures context_setup_target() is never called with a NULL target.
2011-08-22 16:14:36 +02:00
Henri Verbeet 56428c6386 wined3d: Reuse convert_a8r8g8b8_x8r8g8b8() for B8G8R8X8 -> B8G8R8A8 conversions. 2011-08-22 16:14:36 +02:00
Henri Verbeet 156d24c634 wined3d: Add compressed surface support to surface_cpu_blt(). 2011-08-22 16:14:36 +02:00
William Pettersson 0e043819f4 wined3d: Add support for Nvidia GTX 550/560 Ti. 2011-08-05 16:43:24 +02:00
Henri Verbeet 812a314821 wined3d: Get rid of the fglrx point sprite hack.
Fglrx 9.3 is well over 2 years old at this point. I'd strongly encourage
anyone still affected by this to upgrade to the r300g driver.
2011-08-05 09:17:59 +02:00
Henri Verbeet 293bf961ed wined3d: Pass a non-NULL rectangle to surface_color_fill() in wined3d_device_clear_rendertarget_view(). 2011-08-05 09:17:51 +02:00
Henri Verbeet 7e8e7ecebb wined3d: Always pass a non-NULL rectangle to surface_color_fill() in wined3d_device_color_fill(). 2011-08-05 09:17:47 +02:00
Henri Verbeet a84275075d wined3d: Implement wined3d_surface_bltfast() on top of wined3d_surface_blt(). 2011-08-05 09:17:39 +02:00
Henri Verbeet 662de19ad3 wined3d: Move some flags handling from surface_cpu_blt() to wined3d_surface_blt(). 2011-08-04 09:04:49 +02:00
Henri Verbeet 7e3ecd683c wined3d: Move rectangle validation from surface_cpu_blt() to wined3d_surface_blt().
This fixes some tests because these were getting skipped for the BltOverride() path.
2011-08-04 09:04:39 +02:00
Henri Verbeet b166cb29f8 wined3d: Remove src_rect and dst_rect NULL checks from surface_cpu_blt(). 2011-08-04 09:04:25 +02:00
Henri Verbeet e74d1358ac wined3d: Remove the unused blit_op parameter to arbfp_blit_surface(). 2011-08-04 09:04:20 +02:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
Henri Verbeet 41cff1618c wined3d: Merge wined3d_surface_blt(), surface_blt() and gdi_surface_blt(). 2011-08-03 09:23:30 +02:00
Henri Verbeet c12627562b wined3d: Go to the fallbacks for cross-swapchain blits. 2011-08-03 09:23:20 +02:00
Henri Verbeet 111e8fe77c wined3d: Add WINED3DFMT_P8_UINT support to wined3d_format_convert_from_float(). 2011-08-03 09:23:16 +02:00
Henri Verbeet cf1c641cbb wined3d: Fix switching color keying on / off. 2011-08-03 09:23:12 +02:00
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