Re: [Mesa-dev] Instancing support in r300g?
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?
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?
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?
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?
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