Forum

HTMLTexture and /dx9ex texture sharing breaks directx render pipeline

Hello,

conditions:
several pcs with win 7 prof
GTX 770 and 570 driver version 335.23
beta31.2 and alpha31.7 8d797aeb4b

on a huge project we have the problem that sometimes the renderer stopped updating. vvvv keeps working.
As the source of the problem we extracted the HTMLTexture (EX9.Texture String) with /dx9ex enabled. Switching the size of the texture in a regular interval (1sek) breaks the renderer. The _ Error Text_ of the HTMLTexture (EX9.Texture String) shows up following Message:
The size of the Texture does not

SlimDX.Direct3D9.Direct3D9Exception: E_OUTOFMEMORY: Ran out of memory (-2147024882)
   at SlimDX.Result.Throw[T](Object dataKey, Object dataValue)
   at SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue)
   at SlimDX.Direct3D9.Texture.LockRectangle(Int32 level, Rectangle rectangle, LockFlags flags)
   at VVVV.Nodes.Texture.HTML.HTMLTextureRenderer.WriteToTexture(Rectangle rect, IntPtr buffer, Int32 stride, Texture texture)
   at VVVV.Nodes.Texture.HTML.HTMLTextureRenderer.Paint(CefRect[]() cefRects, IntPtr buffer, Int32 stride)

In the whole project the tty shows up after a while the messages:

  • D3DERR_DEVICELOST
  • Error in Group (Layer)

with the attached patch the errors don’t show up any more in the tty

Looking for for detailed information with directx sdk and debug view says:

1524 Direct3D9: (ERROR) :Cannot render when currently set textures are locked.

On one pc vvvv keeps updating the renderer with the directx sdk in debug mode but throws the error int tty:
couldn’t draw vertexbuffer. D3DERR_INVALIDCALL
and Debug View:
6348 Direct3D9: (ERROR) :Cannot render when currently set textures are locked.
6348 Direct3D9: (ERROR) :DrawIndexedPrimitive failed.

Using the lates alpha with the attached patch on startup pops up the error:
see Error File

and tty says:
couldn’t draw vertexbuffer. Unknown

Error (34.7 kB)
Patch (15.4 kB)

and you’re saying the same is working without any problem if you’re not using /dx9ex?

note: with latest alpha (that has dx9ex on by default) you can still fallback to dx9 using the new commandline parameter /dx9

yes it works without the /ex9dx command sometimes. It seems to depend on the size of the HTMLTexture.
The error comes up when i start to switching between the texture sizes
6701024 and 9381433

in the newest alpha it is broken with and without /dx9
got follwoing error on startup and tty says:
00:02:48 * : couldn’t draw vertexbuffer. Unknown

vvvv.exe-exception-2014-04-08.log (34.5 kB)

as of yesterday there’s a new alpha version available (bcdb6cb021) which shouldn’t contain the issues you describe anymore. i just tried your test patch with it and it worked perfectly fine.

thanx. alpha fixed the problem.