Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 23 Mar 2007
Offline Last Active Dec 02 2014 01:07 PM

Topics I've Started

Single Frame Multiple Monitor rendering

07 May 2013 - 11:38 AM

Hi all,


Has anyone had any issues with multi-monitor rendering with directx on the ATi 3450 GPU?


I am seeing hresults S_OK for all my device creates and presents etc.


With the reference device I see Both screens rendered correctly in borderless window mode i.e. non-exclusive.


With the hardware device I see a single frame where both views show correctly on each monitor then on subsequent present calls only the primary monitor is shown the other screen is Black.


The interesting thing is Pix is showing both my screens rendered correctly from its viewer after I profiled the rendering every 6 frames. So I'm definitely drawing correctly I just don't understand why I would see the first frame correctly then output black subsequently.


I'm using directx 9.0c from the February 2005 SDK. 


My next steps are to try the code on a friends pc with a different GPU and hope it works, If anyone has any ideas what I could do to track this tricky issue down I'd appreciate it.



Thanks in advance.



Graphical Tearing under rotation

10 December 2012 - 12:08 PM

Hi all,

Has anyone encountered a tearing issue under rotation? If so could you share your thoughts on this.

I am having a screen tearing issue when v-syncing is ON??? By on I mean the presentation interval is set to ONE rather than IMMEDIATE; and the HResult from the creation is S_OK.

My thinking now is either the driver is overriding my games settings or there is a trick of the eye going on during the rotation.

To set the scene, I have a single circular wheel on screen rotating repeatedly about it's centre 360 degrees, this wheel covers most of the screen. The tearing appears near the bottom and top of this wheel. I am not clearing the screen just rendering over the backbuffer.

I have ran some tests originally designed to simplify the application. This meant increasing the rotation delta between frames e.g. rather than rotating 1 degree per frame we rotate 180 degree per frame. Surprisingly this seems to stop the tearing from appearing? We also tried the delta at 90, and 45 degrees and there was no tearing!

Thanks in advance,


bit stream to structure

25 October 2012 - 09:33 AM

Hi all,

I am wondering what the best practice is for placing a series of bits and bytes read in from a file/external source into a packed structure.

For example the program header from an mpeg stream:

00 00 01 BA 7F FF FF 8A D4 01 86 66 CF F8

Should fill these variables in my packed structure:
uint32 sync_bytes;
unsigned mask1 : 2;
unsigned system_clock_ref1 : 3;
unsigned mask2 : 1;
unsigned system_clock_ref2 : 15;
unsigned mask3 : 1;
unsigned system_clock_ref3 : 15;
unsigned mask4 : 1;
unsigned system_ext : 9;
unsigned mask5 : 1;
unsigned mux_rate : 22;
unsigned mask6 : 2;
unsigned reserved : 5;
unsigned stuffing_length : 3;

The masks should be like the purple values shown here: http://dvd.sourcefor...fo/packhdr.html

I think I am going wrong with the endianness of the system.

I have also thought about serialisation of the data and literally stepping through each bit, this seems overly cautious and slow.

I'd be happy to hear any thoughts on this.

Thanks in advance.


DirectX functionality similiar to wglShareLists in Opengl

08 October 2012 - 11:33 AM

Hello all,

I am having some trouble finding similiar functionality to Opengl's wglShareLists in Direct3D using the February 2005 sdk (old I know). I have only found the Create functions (like CreateTexture) take a Handle pointer, which when (pointer != NULL) && (*pointer == NULL) should set the (*pointer) value.

This handle value is then used on subsequent CreateTexture calls from other devices to share that texture across those devices.

This functionality is OS dependant requiring Vista or above to create a texture and return a value to the handle pointer. On XP the return from CreateTexture is E_NOTIMPL when sending anything in the HANDLE parameter other than NULL, this is expected and documented. It is unexpected to receive an error on Windows 7, which is what I am currently seeing!

From what I have read the CreateTexture call must come from an IDirect3DDevice9EX interface rather than the standard IDirect3DDevice9 interface. This would explain why the windows 7 unexpectedly fails as we currently create texture using vanilla IDIRECT3DDEVICE9 pointer.

Unfortunately the February 2005 sdk does not expose the extended device, at least not in the d3dx9.h header I have. I cannot find the directx 9 sdk that first provided these objects and nothing on the MSDN docs seems to point me in the right direction.

Any help on locating the SDK that exposes the functionality I require would be greatly appreciated.

Thanks in advance,


Assembly confusion

13 September 2012 - 11:46 AM

Hi all,

I am having trouble understanding why a movq instruction is putting NULL in mm0 when trying to set the source operand of the instruction using a look up table?

I already posted the question here on daniweb as it's got a specific assembly forum:

If anyone can provide any help here though I would be grateful as I am totally stumped at the minute.

Thanks in advance,