Jump to content

  • Log In with Google      Sign In   
  • Create Account

yoelshoshan

Member Since 25 Jul 2008
Offline Last Active Oct 19 2015 02:17 AM

Topics I've Started

"Xbox One actually has two graphical queues"

21 September 2015 - 04:38 AM

Reading here:

http://wccftech.com/xbox-one-directx-12-asynchronous-compute-hardware-specifications-ps4-comparison/4/

 

I was wondering, what is the point of having two graphical queues?

Is it to allow actual parallelism of different contexes?

Does it mean that command list can be parallelized not only on the CPU but also on the GPU ?

 

I will greatly appreciate any explanation on the motivation and the dev API usage possibilities of this "two graphical queues" hw design.

 

Thanks :)


MSAA custom sampling pattern

27 July 2014 - 06:46 AM

Hi!

 

Is there any method to specifically define a custom sampling pattern when using MSAA ?

Are there any plans to add such functionality to future API ?

 

Note: I'm aware of the two "standard" and "center" well defined patterns ("quality"),

and that the rest are vendor specific.

 

Note2: I'm aware of modern alternative post-processing methods for AA

 

Thanks!


Commands Recording

20 May 2014 - 12:55 AM

Hi all,

I need to serialize DX9 commands to file.

 

It generally works quite well, but I encountered a case which I don't really understand,

and would really appreciate your help.

 

In a certain game (not mine, a commercial game), there is a LockRect() called on a surface.

The surface details are:

Format	D3DFMT_A8R8G8B8 (21)	_D3DFORMAT
Type	D3DRTYPE_SURFACE (1)	_D3DRESOURCETYPE
Usage	1	unsigned long
Pool	D3DPOOL_DEFAULT (0)	_D3DPOOL
MultiSampleType	D3DMULTISAMPLE_NONE (0)	_D3DMULTISAMPLE_TYPE
MultiSampleQuality	0	unsigned long
Width	1280	unsigned int
Height	720	unsigned int

However, when the LockRect() function returns, the returned pitch is 1024.
This kinda destroys all I understood about pitch :/

I thought that the pitch should be at least width * pixel_size, which in this case is (1280 * 4) = .5120, which is much higher than 1024 ...

Note:
1. As you can see, this is not a compressed format.
2. The lock flag contain only D3DLOCK_NOSYSLOCK.
Which AFAIK, apart from describing not doing a sys-lock, also means it's both read+write,
since there's no other flag.
3. The "RECT* pRect" argument in LockRect() is NULL.

Can you help me understand what is going on?

Thanks,
Yoel.


Measuring Latency [Solved]

01 January 2013 - 03:00 PM

Hi all,

 

I'm writing a tool to measure latency in 3d applications (mostly games).

My definition of the latency is time between:
1. First D3D command of frame N (dx is 9,10,11)

2. Actual presentation time on the GPU (imagine fullscreen, time of the actual flip)

 

I prefer not diving into kernel, and using only user code.

 

Using queries i can get:
a. CPU time of the first d3d command

b. GPU time of the present event

 

My question is, how to calculate a delta between those? They are obviously two different processors.

 

Note: assume that frequency didn't change in the middle of the test.


All i can think of is some initial synchronization phase, but it sounds a bit messy.
 

Any ideas will be highly appreciated =)


Fractional Viewports

18 July 2012 - 06:07 AM

I've seen that in DX11 it's allowed to provide "Fractional Viewports" :

"Direct3D 11 supports fractional viewports; the parameter types are floating-point numbers."
From the docs:
http://msdn.microsoft.com/en-us/library/windows/desktop/ff476260%28v=vs.85%29.aspx

Does someone here know what is the meaning of it? and what potential usage it has?

PARTNERS