Henri Verbeet
894d161891
wined3d: Call core GL functions through gl_info.gl_ops as well.
2012-07-25 20:10:08 +02:00
Henri Verbeet
af1ba676c8
wined3d: Pass a gl_info structure to fragment_pipeline.enable_extension().
2012-07-25 20:01:31 +02:00
Alexandre Julliard
db25d4022a
winex11: Simplify wglSetPixelFormatWINE and export it as a standard extension function.
2012-06-28 13:13:01 +02:00
Francois Gouget
19ba80e7c2
wined3d: We must include Wine's port.h before using NAN.
2012-06-01 17:41:52 +02:00
Henri Verbeet
aa71065d9b
wined3d: Properly preload index buffers.
2012-05-29 10:44:50 +02:00
Henri Verbeet
baff64a27a
wined3d: Properly determine the viewport size for front buffer blits in SetupForBlit().
2012-04-05 11:56:19 +02:00
Matteo Bruni
439097c810
wined3d: Update the correct draw buffers mask.
2012-03-28 15:09:09 +02:00
Henri Verbeet
6a5a098b23
wined3d: Get rid of the WINED3DRESOURCETYPE typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
f38e94af7c
wined3d: Get rid of the WINED3DTRANSFORMSTATETYPE typedef.
2012-01-12 12:37:18 +01:00
Henri Verbeet
43fcbcb36e
wined3d: Get rid of the WINED3DTEXTURESTAGESTATETYPE typedef.
2012-01-10 10:47:27 +01:00
Henri Verbeet
3082c1a9de
wined3d: Get rid of the WINED3DRENDERSTATETYPE typedef.
2011-12-20 10:11:47 +01:00
Henri Verbeet
94c9b0b4fc
wined3d: Get rid of the WINED3DPRESENT_PARAMETERS typedef.
2011-12-02 11:51:29 +01:00
Matteo Bruni
1fd18d7688
wined3d: Make a copy of gl_info for later context_destroy_gl_resources() usage.
2011-11-15 19:37:36 +01:00
Henri Verbeet
81ae0cea7c
wined3d: Simplify context_choose_pixel_format().
...
Simply rank the formats instead of doing multiple passes over the list.
2011-11-09 11:34:19 +01:00
Henri Verbeet
1c91b08220
wined3d: Construct the projection matrix directly in set_blit_dimension().
...
This saves a needless matrix multiplication and is actually more obvious than
the glOrtho() call.
2011-11-02 12:27:34 +01:00
Henri Verbeet
dbfe83baff
wined3d: Rename nCfgs to cfg_count.
2011-10-27 19:34:15 +02:00
Henri Verbeet
7aac0159a9
wined3d: Move the ARB shader program constant handling to the backend where it belongs.
2011-10-26 12:41:33 +02:00
Henri Verbeet
89d0d3ffd8
wined3d: Get rid of the device parameter to context_setup_target().
2011-10-26 12:41:33 +02:00
Henri Verbeet
bab2a40f87
wined3d: Make the device parameter to context_apply_clear_state() const.
2011-10-25 16:57:24 +02:00
Henri Verbeet
9b42c657e4
wined3d: Make the device parameter to context_apply_blit_state() const.
2011-10-25 16:57:24 +02:00
Henri Verbeet
284ba950ef
wined3d: Make the device parameter to SetupForBlit() const.
2011-10-24 11:16:47 +02:00
Henri Verbeet
96187a54a9
wined3d: Make the context parameter to bind_dummy_textures() const.
2011-10-24 11:16:44 +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
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
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
Marcus Meissner
7023964865
wined3d: Remove a useless NULL check (Coverity).
2011-08-30 17:27:25 +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
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
98277e1fc6
wined3d: Simplify context_apply_fbo_state_blit().
2011-08-26 11:27:39 +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
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
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
e57b20c215
wined3d: Keep track of a surface's "draw location".
2011-08-24 11:58:14 +02:00
Henri Verbeet
9df014b9de
wined3d: Rename WineD3D_ChoosePixelFormat() to context_choose_pixel_format().
2011-08-23 16:53:51 +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
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
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
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
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
b09b7e323c
wined3d: Store a pointer to the state table in the context.
2011-07-25 11:59:15 +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
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
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
fcf4303e1a
wined3d: Store a pointer to the framebuffer state in struct wined3d_state.
2011-07-14 14:11:07 +02:00
Henri Verbeet
590505c0a4
wined3d: Make context_create() work if the window is already destroyed.
2011-07-06 11:14:16 +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
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
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
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
Henri Verbeet
c4da128b8f
wined3d: Make the device and target parameters to FindContext() const.
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
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
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
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
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
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
Henri Verbeet
6d31039034
wined3d: Rename IWineD3DDeviceImpl_FindTexUnitMap() to device_update_tex_unit_map().
2011-05-25 11:48:38 +02:00
Henri Verbeet
6d6402afef
wined3d: Get rid of the mostly unused SRGB_BOTH enum value.
2011-05-19 10:08:02 +02:00
Henri Verbeet
aba42d1fa5
wined3d: Introduce a separate structure for framebuffer state.
2011-05-19 10:07:57 +02:00
Henri Verbeet
0e0e5c3e38
wined3d: Get rid of the IWineD3DDevice typedefs.
2011-05-17 10:06:23 +02:00
Henri Verbeet
8d4ca1f815
wined3d: Remove COM from the device implementation.
2011-05-17 10:06:18 +02:00
Stefan Dösinger
20b147bfeb
wined3d: Consistently store format bitcounts in BYTEs.
2011-05-16 16:35:30 +02:00
Francois Gouget
5920de5ffb
Assorted spelling and case fixes.
2011-05-09 12:09:27 +02:00
Henri Verbeet
0cbdd10c58
wined3d: Get rid of the WineD3D_PixelFormat typedef.
2011-05-06 14:23:46 +02:00
Adam Martinson
f912e55610
wined3d: Fix an oops/crash in context_destroy_gl_resources().
...
Introduced by 96b150929b
.
2011-05-02 12:54:25 +02:00