On 17/09/06, Ivan Gyurdiev ivg231@gmail.com wrote:
@@ -156,6 +160,7 @@ typedef struct wined3d_settings_s { BOOL glslRequested; int vs_selected_mode; int ps_selected_mode;
- int offscreen_selected_mode;
/* nonpower 2 function */ int nonpower2_mode; int rendertargetlock_mode;
When you change wined3d_settings, you should make sure that you update the defaults in wined3d_main.c as well. I know those are currently mismatched, but I've got a patch to clean it up. I'm currently waiting for Alexandre to apply/reject some of the wined3d patches sent over the past couple days before sending it (and some other patches).
I'm not sure if using wined3d_settings is really the right place to store things that don't have a corresponding registry key, but it seems like the best place for now.
To clarify what OFFSCREEN_NONE does, it renders to the backbuffer for the current context, rather than using a separate context, and copies it to a texture when done. That's also why, depending on the primitive drawing order, you sometimes see the offscreen surface in the lower left corner of the screen.
H. Verbeet wrote:
On 17/09/06, Ivan Gyurdiev ivg231@gmail.com wrote:
@@ -156,6 +160,7 @@ typedef struct wined3d_settings_s { BOOL glslRequested; int vs_selected_mode; int ps_selected_mode;
- int offscreen_selected_mode;
/* nonpower 2 function */ int nonpower2_mode; int rendertargetlock_mode;
When you change wined3d_settings, you should make sure that you update the defaults in wined3d_main.c as well. I know those are currently mismatched, but I've got a patch to clean it up. I'm currently waiting for Alexandre to apply/reject some of the wined3d patches sent over the past couple days before sending it (and some other patches).
Hmm... yes that is broken - RTL_AUTO will not take effect. I guess it broke all the way back when vs_selected, ps_selected things were added (probably my fault as well). Other things seem to have been added afterwards as well. This patch doesn't make it any more or less broken, however.
The reason I forget about defaults, is that I don't need them - this value is always initialized at runtime. We should also use C99 initializers.
I'm not sure if using wined3d_settings is really the right place to store things that don't have a corresponding registry key, but it seems like the best place for now.
Not sure, but eventually it needs to be made per GPU, just like shader capabilities. I added it there, because the other "selected" values were there...
To clarify what OFFSCREEN_NONE does, it renders to the backbuffer for the current context, rather than using a separate context, and copies it to a texture when done. That's also why, depending on the primitive drawing order, you sometimes see the offscreen surface in the lower left corner of the screen.
Yes, I figured this out... Although the word "context" seems to be used in about 100 different...contexts by everyone, I don't like it. Someone came up with the unfortunate idea of naming a (gl_context, drawable) pair a pbuffer context, and all the corresponding structures are named that way - it is quite confusing figuring out which is which.
On 19/09/06, Ivan Gyurdiev ivg231@gmail.com wrote:
afterwards as well. This patch doesn't make it any more or less broken, however.
Yes, I just thought I should mention it.
When you change wined3d_settings, you should make sure that you update the defaults in wined3d_main.c as well. I know those are currently mismatched, but I've got a patch to clean it up. I'm currently waiting for Alexandre to apply/reject some of the wined3d patches sent over the past couple days before sending it (and some other patches).
Hmm... yes that is broken - RTL_AUTO will not take effect. I guess it broke all the way back when vs_selected, ps_selected things were added (probably my fault as well). Other things seem to have been added afterwards as well. This patch doesn't make it any more or less broken, however.
The reason I forget about defaults, is that I don't need them - this value is always initialized at runtime. We should also use C99 initializers.
I'm not sure if using wined3d_settings is really the right place to store things that don't have a corresponding registry key, but it seems like the best place for now.
Not sure, but eventually it needs to be made per GPU, just like shader capabilities. I added it there, because the other "selected" values were there...
I think your concerns about (ab)-use of wined3d_settings are valid, but better addressed in a followup patch. This one's goal is to break up ActiveRender, and I think it achieves its purpose for the most part - existing patterns were followed for everything else [ it never occurred to me to add the setting anywhere else, since that decision was already made for ps/vs mode selection].