Clarification on what a certain fixme is

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
rockinup1231
Level 2
Level 2
Posts: 14
Joined: Fri Mar 07, 2008 8:34 pm

Clarification on what a certain fixme is

Post by rockinup1231 »

I'm trying to figure out what a certain fixme means since I think it has to do with the serious lag in a game I maintain on the appDB.

Code: Select all

fixme:d3d:set_tex_op_nvrc >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from set_tex_op_nvrc()
 @ utils.c / 1426
In the game menu, it plays fine until I try to open a window to mess around with game options whether it be settings or to prepare to start a game session. Anyway, what does "set_tex_op_nvrc" mean?
Jim
Level 2
Level 2
Posts: 48
Joined: Mon Feb 25, 2008 6:09 pm

Re: Clarification on what a certain fixme is

Post by Jim »

rockinup1231 wrote:I'm trying to figure out what a certain fixme means since I think it has to do with the serious lag in a game I maintain on the appDB.

Code: Select all

fixme:d3d:set_tex_op_nvrc >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from set_tex_op_nvrc()
 @ utils.c / 1426
In the game menu, it plays fine until I try to open a window to mess around with game options whether it be settings or to prepare to start a game session. Anyway, what does "set_tex_op_nvrc" mean?
I'm not sure what this specific fixme is for but in general you can ignore them. You can turn off debug messages with

Code: Select all

WINEDEBUG=-all wine yourprogram.exe
This can reduce lag in some cases where large volumes of fixme lines are generated.
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: Clarification on what a certain fixme is

Post by vitamin »

rockinup1231 wrote:I'm trying to figure out what a certain fixme means since I think it has to do with the serious lag in a game I maintain on the appDB.

Code: Select all

fixme:d3d:set_tex_op_nvrc >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from set_tex_op_nvrc()
 @ utils.c / 1426
In the game menu, it plays fine until I try to open a window to mess around with game options whether it be settings or to prepare to start a game session. Anyway, what does "set_tex_op_nvrc" mean?
If you really have to know what that message means you should really know where it came from: utils.c : 1426

Now enable d3d debug channel, redirect it into a file and go through the steps to duplicate the problem. Now open that file (you'll probably need 'less' program not your everyday text editor). And find that fixme. The line above it should now say "trace:d3d:set_tex_op_nvrc stage ...". Paste it here.
rockinup1231
Level 2
Level 2
Posts: 14
Joined: Fri Mar 07, 2008 8:34 pm

Post by rockinup1231 »

In this game, say if I wanted to exit the program, I could click exit, and a window would pop up asking if I want to exit. It's when I do that type of activity that the fixme pops up. The bigger the window pop-up, the more unusably laggy it becomes. It only seems to come up when I try to do something like that. In this case, I'm certain it has little to do with the terminal output.

Thanks for the input though. :)

EDIT: Seems I posted a bit late. Okay, I'll come back when I've accomplished that.
rockinup1231
Level 2
Level 2
Posts: 14
Joined: Fri Mar 07, 2008 8:34 pm

Post by rockinup1231 »

Well I did what you asked vitamin, and I found the line and copied from there down the list to get what I thought was most relevant. (I hope I didn't cut anything off or throw too much more in since the file was about 57MB in size.)

Code: Select all

trace:d3d:set_tex_op_nvrc stage 2, is_alpha 1, op WINED3DTOP_DISABLE, arg1 0x2, arg2 0x1, arg3 0x1, texture_idx -1
fixme:d3d:set_tex_op_nvrc >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from set_tex_op_nvrc()
 @ utils.c / 1426
trace:d3d:tex_coordindex No texture unit mapped to stage 2. Skipping texture coordinates.
trace:d3d:transform_texture Using a vertex shader, or stream sources not sorted out yet, skipping
trace:d3d:tex_colorop Setting color op for stage 3
warn:d3d:tex_colorop Using non 1:1 mapping: 3 -> -1!
trace:d3d:tex_colorop Stage disabled
trace:d3d:tex_alphaop Setting alpha op for stage 3
trace:d3d:tex_alphaop Setting alpha op for stage 3
trace:d3d:set_tex_op_nvrc stage 3, is_alpha 1, op WINED3DTOP_DISABLE, arg1 0x2, arg2 0x1, arg3 0x1, texture_idx -1
fixme:d3d:set_tex_op_nvrc >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from set_tex_op_nvrc()
 @ utils.c / 1426
trace:d3d:tex_coordindex No texture unit mapped to stage 3. Skipping texture coordinates.
trace:d3d:transform_texture Using a vertex shader, or stream sources not sorted out yet, skipping
trace:d3d:tex_colorop Setting color op for stage 4
warn:d3d:tex_colorop Using non 1:1 mapping: 4 -> -1!
trace:d3d:tex_colorop Stage disabled
trace:d3d:tex_alphaop Setting alpha op for stage 4
trace:d3d:tex_alphaop Setting alpha op for stage 4
trace:d3d:set_tex_op_nvrc stage 4, is_alpha 1, op WINED3DTOP_DISABLE, arg1 0x2, arg2 0x1, arg3 0x1, texture_idx -1
fixme:d3d:set_tex_op_nvrc >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from set_tex_op_nvrc()
 @ utils.c / 1426
trace:d3d:tex_coordindex No texture unit mapped to stage 4. Skipping texture coordinates.
trace:d3d:transform_texture Using a vertex shader, or stream sources not sorted out yet, skipping
trace:d3d:tex_colorop Setting color op for stage 5
warn:d3d:tex_colorop Using non 1:1 mapping: 5 -> -1!
trace:d3d:tex_colorop Stage disabled
trace:d3d:tex_alphaop Setting alpha op for stage 5
trace:d3d:tex_alphaop Setting alpha op for stage 5
trace:d3d:set_tex_op_nvrc stage 5, is_alpha 1, op WINED3DTOP_DISABLE, arg1 0x2, arg2 0x1, arg3 0x1, texture_idx -1
fixme:d3d:set_tex_op_nvrc >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from set_tex_op_nvrc()
 @ utils.c / 1426
trace:d3d:tex_coordindex No texture unit mapped to stage 5. Skipping texture coordinates.
trace:d3d:transform_texture Using a vertex shader, or stream sources not sorted out yet, skipping
trace:d3d:tex_colorop Setting color op for stage 6
warn:d3d:tex_colorop Using non 1:1 mapping: 6 -> -1!
trace:d3d:tex_colorop Stage disabled
trace:d3d:tex_alphaop Setting alpha op for stage 6
trace:d3d:tex_alphaop Setting alpha op for stage 6
trace:d3d:set_tex_op_nvrc stage 6, is_alpha 1, op WINED3DTOP_DISABLE, arg1 0x2, arg2 0x1, arg3 0x1, texture_idx -1
fixme:d3d:set_tex_op_nvrc >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from set_tex_op_nvrc()
 @ utils.c / 1426
trace:d3d:tex_coordindex No texture unit mapped to stage 6. Skipping texture coordinates.
trace:d3d:transform_texture Using a vertex shader, or stream sources not sorted out yet, skipping
trace:d3d:tex_colorop Setting color op for stage 7
warn:d3d:tex_colorop Using non 1:1 mapping: 7 -> -1!
trace:d3d:tex_colorop Stage disabled
trace:d3d:tex_alphaop Setting alpha op for stage 7
trace:d3d:tex_alphaop Setting alpha op for stage 7
trace:d3d:set_tex_op_nvrc stage 7, is_alpha 1, op WINED3DTOP_DISABLE, arg1 0x2, arg2 0x1, arg3 0x1, texture_idx -1
fixme:d3d:set_tex_op_nvrc >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from set_tex_op_nvrc()
 @ utils.c / 1426
trace:d3d:tex_coordindex No texture unit mapped to stage 7. Skipping texture coordinates.
trace:d3d:transform_texture Using a vertex shader, or stream sources not sorted out yet, skipping
trace:d3d:sampler Sampler: 0
trace:d3d:sampler glActiveTextureARB call ok state.c / 2482
trace:d3d:ActivateContext (0x2a18268): Selecting context for render target 0x133da8, thread 25
trace:d3d:sampler glTexEnvi(GL_TEXTURE_LOD_BIAS_EXT, ...) call ok state.c / 2523
trace:d3d:activate_dimensions glDisable(GL_TEXTURE_3D) call ok state.c / 1823
trace:d3d:activate_dimensions glDisable(GL_TEXTURE_CUBE_MAP_ARB) call ok state.c / 1826
trace:d3d:activate_dimensions glDisable(GL_TEXTURE_RECTANGLE_ARB) call ok state.c / 1830
trace:d3d:activate_dimensions glEnable(GL_TEXTURE_2D) call ok state.c / 1833
trace:d3d:sampler Sampler: 1
trace:d3d:sampler glActiveTextureARB call ok state.c / 2482
trace:d3d:sampler glBindTexture(GL_TEXTURE_2D, stateblock->wineD3DDevice->dummyTextureName[sampler]) call ok state.c / 2564
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: Clarification on what a certain fixme is

Post by vitamin »

rockinup1231 wrote:Well I did what you asked vitamin, and I found the line and copied from there down the list to get what I thought was most relevant. (I hope I didn't cut anything off or throw too much more in since the file was about 57MB in size.)

Code: Select all

trace:d3d:set_tex_op_nvrc stage 2, is_alpha 1, op WINED3DTOP_DISABLE, arg1 0x2, arg2 0x1, arg3 0x1, texture_idx -1
fixme:d3d:set_tex_op_nvrc >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from set_tex_op_nvrc()
 @ utils.c / 1426
This is all you need. No piece it all together and you will get your reason. In case you don't - you have to actually know what all those parameters mean, what functions are being called and why.
rockinup1231
Level 2
Level 2
Posts: 14
Joined: Fri Mar 07, 2008 8:34 pm

Post by rockinup1231 »

I'm not going to lie - I'm no programming expert, but I did spend time to look through the source code and try to pull together a solution.

Code: Select all

d3d:set_tex_op_nvrc stage 2, is_alpha 1, op WINED3DTOP_DISABLE, arg1 0x2, arg2 0x1, arg3 0x1, texture_idx -1
That line, from what I know, indicates that wine is trying to debug an issue with the 3d desktop. The fixme itself indicates a texture that GL can't process (being that there is no texture instruction related to that hex number 0x500). The game screen with the options to choose through is 2D.

That's all I could get from it. :?
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Post by vitamin »

rockinup1231 wrote:I'm not going to lie - I'm no programming expert, but I did spend time to look through the source code and try to pull together a solution.

Code: Select all

d3d:set_tex_op_nvrc stage 2, is_alpha 1, op WINED3DTOP_DISABLE, arg1 0x2, arg2 0x1, arg3 0x1, texture_idx -1
That line, from what I know, indicates that wine is trying to debug an issue with the 3d desktop. The fixme itself indicates a texture that GL can't process (being that there is no texture instruction related to that hex number 0x500). The game screen with the options to choose through is 2D.

That's all I could get from it. :?
I'm afraid you are wrong. That line is printed here: http://source.winehq.org/source/dlls/wi ... ls.c#L1122
For the op == WINED3DTOP_DISABLE there is only one code path: 1144-1155. Why those fail - I do not know. The question is why do you need to know that? Especially that you said you are not a developer yourself. If you think it's a bug - file a bug let developers figure it out.
IMHO if your game works and you have some small issues - IGNORE THEM. Or fix them yourself. Wine won't EVER run games the same way windows does. Some times not even because of Wine itself but poor drivers.
rockinup1231
Level 2
Level 2
Posts: 14
Joined: Fri Mar 07, 2008 8:34 pm

Post by rockinup1231 »

The reason I wanted to know was to find out if it was related to something I could fix easily. The game won't work because of this issue when option windows are loaded up in the game and it becomes extremely laggy. In the terminal, the game doesn't throw out very much debug output. Mostly it involves repeating this fixme each time I try doing what I want to do (which invokes the problem). I know that wine doesn't work like Windows, I just wanted to know if it was something simple.

I'll file a bug report then. Thank you for your help. :)
Locked