Commit Graph

151 Commits

Author SHA1 Message Date
Henri Verbeet ac54753e7c wined3d: Get rid of RTL_READDRAW.
I don't think we ever want to use glDrawPixels().
2013-08-28 11:17:09 +02:00
Henri Verbeet e4816996c3 ddraw: Handle the "DirectDrawRenderer" registry key in wined3d. 2013-05-30 10:57:08 +02:00
Alexandre Julliard 02d56bd3a2 wined3d: Don't bother to unregister classes at process exit. 2013-05-14 11:33:29 +02:00
Henri Verbeet dc21460397 wined3d: Replace "VertexShaderMode" and "PixelShaderMode" with shader model limits. 2013-01-25 11:18:13 +01:00
Alexandre Julliard 3bd185c3df wined3d: Remove references to the (no longer used) X11 lock. 2012-08-16 16:52:16 +02:00
Henri Verbeet 09443f14e7 wined3d: Enable "AlwaysOffscreen" by default. 2012-07-19 15:43:59 +02:00
Michael Stefaniuc db5053c950 wined3d: Avoid sizeof on structs with variable length arrays. 2012-06-13 12:09:36 +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 9267148705 wined3d: The wined3d object doesn't need a parent. 2012-05-03 11:18:00 +02:00
Henri Verbeet faa040cd9e wined3d: Clear the device if we're not removing the entry from the table in wined3d_unregister_window().
The device may be destroyed after the window is unregistered, causing
device_process_message() to access freed memory.
2012-01-26 17:43:50 +01:00
Francois Gouget 54bcda10e5 wined3d: Delete the static critical sections when unloading the dll. 2011-11-17 11:38:08 +01:00
Henri Verbeet 0ba5f7dd98 wined3d: Get rid of RTL_DISABLE. 2011-11-09 11:34:11 +01:00
Henri Verbeet 8a2b435dd3 wined3d: Enable multisampling by default. 2011-08-26 11:28:50 +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 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 64f71fda6d wined3d: Complain about users disabling GLSL. 2011-07-29 12:11:01 +02:00
Henri Verbeet c461d312ba wined3d: Request per-surface palettes in the client libs. 2011-06-24 08:49:48 -05: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 0e0e5c3e38 wined3d: Get rid of the IWineD3DDevice typedefs. 2011-05-17 10:06:23 +02:00
Henri Verbeet 9f90225fa5 wined3d: Get rid of the wined3d_settings_t typedef. 2011-05-06 14:23:46 +02:00
Henri Verbeet 9d405473d0 wined3d: Don't unregister windows with the wrong window proc on unload either.
This is the same issue as 7a354177b3, just on
wined3d unload this time.
2011-04-06 21:18:06 +02:00
Henri Verbeet 074977d404 wined3d: Get rid of the IWineD3D typedefs. 2011-02-02 12:22:53 +01:00
Henri Verbeet 36d4268e3c wined3d: Remove COM from IWineD3D. 2011-02-02 12:22:42 +01:00
Henri Verbeet 7a354177b3 wined3d: Don't unregister a window unless the window proc is what we expect it to be.
In particular, if we'd unregister a window when the application replaced our
window proc, but still forwards to us, we'd create a loop when we register
the same window again later.
2010-11-10 12:19:24 +01:00
Henri Verbeet 9a1fddb0fd wined3d: Register a window only once. 2010-11-10 12:19:16 +01:00
Henri Verbeet b66478dfbc wined3d: Set an A window proc on non-unicode windows. 2010-11-02 13:17:25 +01:00
Henri Verbeet b68d257710 wined3d: Get rid of redundant comparisons against NULL / 0. 2010-09-14 09:43:33 -05:00
Roderick Colenbrander 4baf7a52f0 wined3d: Move video memory override to init_driver_info. 2010-09-13 13:28:28 -05:00
Henri Verbeet bc2db78c3a wined3d: Explicitly document some more consequences of GL locking policy.
The basic rule is that you can't call anything that takes the user32 / gdi32
lock while under the GL (winex11) lock. As a consequence, you can't call
anything like context_acquire() or context_destroy() either.
2010-09-03 11:05:10 +02:00
Henri Verbeet 6c4c351791 wined3d: Don't require wined3d object parents to be COM objects. 2010-09-01 14:01:02 +02:00
Stefan Dösinger 6a87681b11 wined3d: Fix an msvc anachronism warning. 2010-07-29 17:33:34 +02:00
Henri Verbeet 8eb2a2cf0c wined3d: Disable strict draw ordering by default.
While some performance hit from the extra flushes was expected and would be
acceptable, the performance hit can be over 50% on some configurations, which
clearly isn't acceptable. This patch introduces a "StrictDrawOrdering"
registry key for applications affected by this, until we have a more
structural solution.
2010-04-13 21:13:36 +02:00
Henri Verbeet 5ce986f1de wined3d: Add a separate function for wined3d object initialization. 2010-04-05 11:37:24 +02:00
Henri Verbeet 8a107bc63a wined3d: Kill pbuffer offscreen rendering support.
Our pbuffer support is broken, nobody cares.
2010-03-15 15:55:38 +01:00
Henri Verbeet a0aa10eb5c wined3d: Filter messages for the device's focus window instead of the swapchain's device window.
Usually these will be the same window, but they don't have to be.
2009-12-23 14:27:29 +01:00
Henri Verbeet 0e270bbd22 wined3d: Send window messages through the swapchain before sending them to the application. 2009-12-15 11:43:41 +01:00
Henri Verbeet 21241432f1 wined3d: Get rid of a redundant strcpy(). 2009-09-17 10:09:10 -05:00
Henri Verbeet 9880cd7504 wined3d: Make some variables static. 2009-09-15 14:32:36 -05:00
Henri Verbeet 560d63548d wined3d: Remove trailing spaces. 2009-08-27 11:45:37 +02:00
Henri Verbeet f9c791f9ca d3d8: Use a wined3d cs for wined3d locking.
We will need this for d3d10, where both dxgi and d3d10core are making wined3d
calls. Right now d3d8/d3d9 also use this to protect their own data, but
eventually we should push this down into wined3d itself and use something a
bit more fine-grained. There's no good reason that doing e.g. a vertex buffer
upload in some thread should block all of wined3d.
2009-08-25 11:12:17 +02:00
Henri Verbeet ecd2dc7603 wined3d: Make RTL_READTEX the default rendertarget locking method.
For most cards this should make more sense than RTL_READDRAW, even if e.g.
surface_upload_data() has some room for improvement.
2009-08-14 13:59:09 +02:00
Henri Verbeet cbd555bbc9 wined3d: Get rid of the unused vbo_mode setting. 2009-08-10 13:53:11 +02:00
Roderick Colenbrander 5a00c8053e wined3d: Get rid of two dead render target lock mode options. 2009-08-10 13:10:49 +02:00
Henri Verbeet 1a43030664 wined3d: Keep track of a thread's wined3d context. 2009-07-22 14:42:50 +02:00
Henri Verbeet a5876bb91e wined3d: Use FBOs for offscreen rendering by default. 2009-06-05 15:19:40 +02:00
Rico Schüller 2ef751883d wined3d: Add UnregisterClass() on DLL_PROCESS_DETACH. 2009-05-12 12:33:57 +02:00
Henri Verbeet 2cc43393f0 wined3d: The adapters array should be owned by IWineD3DImpl. 2009-03-11 13:03:32 +01:00
Henri Verbeet 3644a7f6d7 wined3d: Free the logo path when we're done with it. 2009-03-11 13:03:32 +01:00
Maarten Lankhorst 4eca43e702 winex11.drv/wined3d: Fix tsx11 calling convention. 2008-12-23 12:51:44 +01:00
Roderick Colenbrander 273357264a wined3d: Add registry key for overriding the pci vendor id. 2008-11-24 14:52:32 +01:00
Roderick Colenbrander 52d59718c7 wined3d: Add registry key for overriding pci device id. 2008-11-24 14:52:25 +01:00
Henri Verbeet 7142754820 wined3d: Remove the SDKVersion parameter to WineDirect3DCreate(). 2008-10-24 14:24:59 +02:00
Alexandre Julliard 6cfef95ce7 wined3d: Convert source files to utf-8. 2008-10-18 19:21:20 +02:00
Henri Verbeet 9e955d3a28 wined3d: Make the debug channels more consistent. 2008-09-17 20:49:57 +02:00
Stefan Dösinger 2d7cdc3ec2 wined3d: Remove the DLL load init function. 2008-07-08 21:08:54 +02:00
Roderick Colenbrander 042d0394dc wined3d: Add a registry key to allow/disallow multisampling.
Right now it is set to disabled due to an Nvidia GLXBadDrawable
bug. Second there is some issue (driver bug too?) in FBO mode.
2008-06-03 11:17:09 +02:00
Stefan Dösinger b1d8af7926 wined3d: Update copyright lines. 2008-04-02 20:22:42 +02:00
Stefan Dösinger 4640be8dc8 wined3d: Fragment processing using GL_ATI_fragment_shader.
This adds code for handling fixed function fragment processing with the
GL_ATI_fragment_shader extension. This is a sort-of programmable
interface for fragment processing at the level of shader model 1.4 in
d3d. This code is of use on r200, r250 and r280 cards(radeon 8500 to
9200) which do not support GL_ARB_fragment_program, but support pixel
shader 1.4 on Windows. This code is somewhat a counterpart to the
existing fragment processing code using GL_NV_register_combiners and
GL_NV_texture_shader.
2008-03-25 19:50:32 +01:00
Stefan Dösinger a440051016 wined3d: Add a shader DLL init callback. 2008-03-25 19:49:17 +01:00
Roderick Colenbrander 59eba5cb41 wined3d: Default to GLSL. This is safe because we now have proper ps2.0/vs2.0 detection. 2007-10-29 13:04:58 +01:00
Roderick Colenbrander 243ac3ed75 wined3d: Move video memory tracking to the adapter. 2007-09-24 13:50:43 +02:00
Roderick Colenbrander 479078a5b3 wined3d: The amount of video memory is set in FillGLCaps unless overridden using a registry option. 2007-09-24 11:59:24 +02:00
Roderick Colenbrander 21a3c1d4be wined3d: Better video memory reporting. 2007-09-20 15:53:40 +02:00
Stefan Dösinger 271fb0052f wined3d: Add support for showing a logo. 2007-09-14 14:26:00 +02:00
Roderick Colenbrander b78923d015 wined3d: Don't use ENTER_GL/LEAVE_GL on systems without winex11.drv. 2007-08-14 12:47:15 +02:00
Francois Gouget 93b5a0e934 wined3d: Add a '\n' to a Wine trace. 2007-08-10 11:56:03 +02:00
Roderick Colenbrander 107ff2057d wined3d: Move fake context code over to WGL. 2007-08-08 15:32:01 +02:00
Stefan Dösinger 12788f6fc8 wined3d: Do not fail if the adapter info can't be initialized. 2007-07-26 11:48:45 +02:00
Stefan Dösinger a460a2df43 wined3d: Store the gl information in a per adapter structure and initialize it only once. 2007-06-11 13:51:06 +02:00
Jan Zerebecki 58c7c51485 wined3d: Remove resourceStoreCriticalSection. 2007-04-16 13:51:56 +02:00
Andrew Talbot 2f5f3825c6 wined3d: Replace inline static with static inline. 2007-03-17 20:04:46 +01:00
H. Verbeet 2384bdde9d wined3d: Remove broken software shaders. 2007-03-07 11:52:17 +01:00
Stefan Dösinger b48dfb3c54 wined3d: Always use np2 repacking if no native np2 support is available. 2007-02-14 12:29:01 +01:00
H. Verbeet 6d66085150 wined3d: Add FBO support for offscreen rendering. 2006-11-17 18:14:13 +01:00
H. Verbeet ad4c2bdb69 wined3d: Make the offscreen render mode a registry setting. 2006-11-17 18:13:57 +01:00
Francois Gouget 1ccf944900 Assorted spelling fixes. 2006-11-13 13:01:53 +01:00
Ivan Gyurdiev e020eceddf wined3d: Make the shader mode selections per device. 2006-10-09 20:27:55 +02:00
Ivan Gyurdiev 3dcd3681f3 wined3d: Win64 printf fixes. 2006-10-02 14:38:04 +02:00
H. Verbeet 193f6bbd92 wined3d: Add support for native NPOT textures. 2006-09-27 09:48:11 +02:00
H. Verbeet fdefaed46d wined3d: Enable pixel shaders by default. 2006-09-27 09:47:00 +02:00
H. Verbeet ba8a6a3c0c wined3d: Fix the default values for wined3d_settings. 2006-09-27 09:46:37 +02:00
Jan Zerebecki 4d6cfb6351 wined3d: Registry setting for the amount of simulated texture memory.
Set VideoMemorySize under HKCU\Software\Wine\Direct3D to amount in MB
as string.
2006-08-08 11:20:05 +02:00
Stefan Dösinger 739d565c59 wined3d: Add a setting for the render target locking method. 2006-07-18 11:22:51 +02:00
Christian Costa 494841d3e5 wined3d: Only copy memory corresponding to the dib section instead of the power of 2 surface. 2006-07-14 13:32:40 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Phil Costin 1b320431b8 wined3d: Check registry for UseGLSL enabled. 2006-05-18 16:40:32 +02:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Oliver Stieber 9e6957bbdc Optionally repack nonpower 2 textures to the expected span length when
a textures is locked. This is necessary for buggy games like Warhammer
40k that don't work with the odd span sizes produce by default
nonpower 2 support.
2005-09-23 11:08:03 +00:00
Oliver Stieber 5b9ddcce44 Correct a regression issue with per-app settings. 2005-07-26 11:14:38 +00:00
Raphael Junqueira cc8762a91e - add a new settings for vbo support
- use a struct to handle wined3d settings
- prepare VBO using some abstraction APIs
2005-07-24 17:11:33 +00:00
Raphael Junqueira e2a2b5f6d5 - cleanup wined3d settings init (now closing opened registry keys)
- support per application settings
2005-07-22 18:26:05 +00:00
Oliver Stieber 9253e0e39c Tidy up some comments and formatting. 2005-07-13 14:15:54 +00:00
Oliver Stieber 6a032491d3 Added basic memory management and tracking to wined3d. 2005-07-13 11:34:55 +00:00
Alexandre Julliard ab88743c25 Moved a few registry keys from HKLM\Software\Wine to
HKCU\Software\Wine for consistency.
2005-06-20 16:04:32 +00:00
Alexandre Julliard 2e4bca9db5 Added magic comments to all Wine-specific registry accesses to make
them easier to grep.
2005-06-13 18:56:00 +00:00
Alexandre Julliard c3116c5e61 Renamed ttydrv and x11drv to winetty.drv and winex11.drv respectively
to follow the namespace conventions and make it clear that they are
drivers and not dlls.
Moved the graphics driver configuration to HKLM\Software\Wine\Drivers.
2005-05-06 19:38:50 +00:00
Oliver Stieber 16e8689008 Implemented guids for wined3d. 2005-03-02 13:44:58 +00:00
Jason Edmeades 289562eeb5 - Implement SetStreamSource
- Ensure wined3d objects maintain a reference count of at least that
  of the d3dx version.
2004-11-23 13:52:46 +00:00
Jason Edmeades ae5a436873 - Make d3d8 know about the wined3d device and start using it.
- Move some of the screen mode related functions into wined3d and add
  untested support for the new d3d9 options of providing the format to
  some of the calls.
- Move other functions from the directx interface into the common
  library and implement the calls from d3d9 as well.
- Copy across the first of the functions used to make traces more readable,
  creating utils.c to store them in. Eventually the ones in d3d8 will be
  removed but for now just duplicate the code.
2004-09-28 02:12:12 +00:00
Jason Edmeades 24ab49e250 Create a wined3d interface, and generate a wined3d object in the d3d9
create method. Make the first (simple) call implementation into the
new wined3d interface.
2004-09-23 04:34:27 +00:00