Re: [Mesa-dev] Instancing support in r300g?

2013-05-18 Thread Christoph Bumiller
On 18.05.2013 17:41, Marek Olšák wrote:
> ARB_draw_instanced is a DX10 feature.
>
> The R300-R500 chipsets do not support instancing at all.
> ARB_instanced_arrays is emulated with a loop in the driver, so that
> instancing is supported in Wine/DX9.

Modern NV cards still require you to loop in the driver ... the only
"hardware support" for instancing they added is a builtin counter.

> Marek
>
> On Sat, May 18, 2013 at 4:59 PM, Lauri Kasanen  wrote:
>> On Sat, 18 May 2013 17:46:32 +0300
>> Lauri Kasanen  wrote:
>>
>>> On Sat, 18 May 2013 13:50:35 +0200
>>> Christoph Bumiller  wrote:
>>>
 r300_get_param:
 case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR: return 1;

 That's ARB_instanced_arrays, which is what d3d9 supports
 (IDirect3DDevice9::SetStreamSourceFreq).
>>> Instanced arrays alone, without a way to draw instances is pretty
>>> useless, would you say?
>> My mistake, I didn't see the arrays extension adds those draw calls in
>> that situation.
>>
>> - Lauri
>> ___
>> mesa-dev mailing list
>> mesa-dev@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Instancing support in r300g?

2013-05-18 Thread Marek Olšák
ARB_draw_instanced is a DX10 feature.

The R300-R500 chipsets do not support instancing at all.
ARB_instanced_arrays is emulated with a loop in the driver, so that
instancing is supported in Wine/DX9.

Marek

On Sat, May 18, 2013 at 4:59 PM, Lauri Kasanen  wrote:
> On Sat, 18 May 2013 17:46:32 +0300
> Lauri Kasanen  wrote:
>
>> On Sat, 18 May 2013 13:50:35 +0200
>> Christoph Bumiller  wrote:
>>
>> > r300_get_param:
>> > case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR: return 1;
>> >
>> > That's ARB_instanced_arrays, which is what d3d9 supports
>> > (IDirect3DDevice9::SetStreamSourceFreq).
>>
>> Instanced arrays alone, without a way to draw instances is pretty
>> useless, would you say?
>
> My mistake, I didn't see the arrays extension adds those draw calls in
> that situation.
>
> - Lauri
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Instancing support in r300g?

2013-05-18 Thread Lauri Kasanen
On Sat, 18 May 2013 17:46:32 +0300
Lauri Kasanen  wrote:

> On Sat, 18 May 2013 13:50:35 +0200
> Christoph Bumiller  wrote:
>
> > r300_get_param:
> > case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR: return 1;
> > 
> > That's ARB_instanced_arrays, which is what d3d9 supports
> > (IDirect3DDevice9::SetStreamSourceFreq).
> 
> Instanced arrays alone, without a way to draw instances is pretty
> useless, would you say?

My mistake, I didn't see the arrays extension adds those draw calls in
that situation.

- Lauri
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Instancing support in r300g?

2013-05-18 Thread Lauri Kasanen
On Sat, 18 May 2013 13:50:35 +0200
Christoph Bumiller  wrote:

> On 18.05.2013 13:05, Lauri Kasanen wrote:
> > Hi,
> >
> > The 'net claims that instancing is a SM3 feature[1] (r500), but also
> > supported on SM2 ATI cards[2] (r300-r400).
> >
> > Yet r300g claims no support for it, and it seems that even Nvidia's
> 
> r300_get_param:
> case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR: return 1;
> 
> That's ARB_instanced_arrays, which is what d3d9 supports
> (IDirect3DDevice9::SetStreamSourceFreq).

Instanced arrays alone, without a way to draw instances is pretty
useless, would you say?

- Lauri
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Instancing support in r300g?

2013-05-18 Thread Christoph Bumiller
On 18.05.2013 13:05, Lauri Kasanen wrote:
> Hi,
>
> The 'net claims that instancing is a SM3 feature[1] (r500), but also
> supported on SM2 ATI cards[2] (r300-r400).
>
> Yet r300g claims no support for it, and it seems that even Nvidia's

r300_get_param:
case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR: return 1;

That's ARB_instanced_arrays, which is what d3d9 supports
(IDirect3DDevice9::SetStreamSourceFreq).

> Windows drivers don't expose ARB_draw_instanced on gf6 and gf7[3].
>
> What's the story here? Does the GL extension use something different
> than what DX uses?
>
> - Lauri
>
> [1] http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter03.html
> "Using the Geometry Instancing API provided by DirectX 9 and fully
> supported in hardware by GeForce 6 Series GPUs"
>
> [2] http://aras-p.info/texts/D3D9GPUHacks.html ,
> http://www.hardwareheaven.com/industry-news/51427-farcy-1-2-withdrawn-patch.html
>
> [3]
> http://feedback.wildfiregames.com/report/opengl/feature/GL_ARB_draw_instanced
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev