[Mesa-dev] [PATCH 4/7] anv/pipeline/gen8: Unconditionally set DXMultisampleRasterizaitonEnable
Jason Ekstrand
jason at jlekstrand.net
Sat Aug 6 23:55:15 UTC 2016
On Sat, Aug 6, 2016 at 4:15 PM, Kenneth Graunke <kenneth at whitecape.org>
wrote:
> On Saturday, August 6, 2016 10:31:19 AM PDT Jason Ekstrand wrote:
> > This bit doesn't enable multisampling, it simply sets the multisampling
> > mode to DX which is what we want.
>
> This in fact does not set the multisampling API mode. That's the
> DXMultisampleRasterizationMode field, while you're changing the
> DXMultisampleRasterizationEnable bit.
>
> I'm not saying this is wrong, but could you provide a better explanation
> for this change? I think you need to cite the 3DSTATE_INT Multisample
> Rasterization Modes table and why the signals ultimately produced work
> out to what we want despite changing this.
>
I just kicked this guy off to CI:
https://cgit.freedesktop.org/~jekstrand/mesa/commit/?h=jenkins_gl
the i965 driver is probably a better place to prototype this change anyway
since it is getting better test coverage.
> If this works, it would be nice - in the GL driver, we could likely
> drop the _NEW_MULTISAMPLE flag in the 3DSTATE_RASTER atom.
>
> > ---
> > src/intel/vulkan/gen8_pipeline.c | 11 ++---------
> > 1 file changed, 2 insertions(+), 9 deletions(-)
> >
> > diff --git a/src/intel/vulkan/gen8_pipeline.c b/src/intel/vulkan/gen8_
> pipeline.c
> > index 6b7936a..ad8a643 100644
> > --- a/src/intel/vulkan/gen8_pipeline.c
> > +++ b/src/intel/vulkan/gen8_pipeline.c
> > @@ -47,14 +47,8 @@ emit_ia_state(struct anv_pipeline *pipeline,
> > static void
> > emit_rs_state(struct anv_pipeline *pipeline,
> > const VkPipelineRasterizationStateCreateInfo *info,
> > - const VkPipelineMultisampleStateCreateInfo *ms_info,
> > const struct anv_graphics_pipeline_create_info *extra)
> > {
> > - uint32_t samples = 1;
> > -
> > - if (ms_info)
> > - samples = ms_info->rasterizationSamples;
> > -
> > struct GENX(3DSTATE_SF) sf = {
> > GENX(3DSTATE_SF_header),
> > };
> > @@ -75,7 +69,7 @@ emit_rs_state(struct anv_pipeline *pipeline,
> > /* For details on 3DSTATE_RASTER multisample state, see the BSpec
> table
> > * "Multisample Modes State".
> > */
> > - raster.DXMultisampleRasterizationEnable = samples > 1;
> > + raster.DXMultisampleRasterizationEnable = true;
> > raster.ForcedSampleCount = FSC_NUMRASTSAMPLES_0;
> > raster.ForceMultisampling = false;
> >
> > @@ -176,8 +170,7 @@ genX(graphics_pipeline_create)(
> > assert(pCreateInfo->pInputAssemblyState);
> > emit_ia_state(pipeline, pCreateInfo->pInputAssemblyState, extra);
> > assert(pCreateInfo->pRasterizationState);
> > - emit_rs_state(pipeline, pCreateInfo->pRasterizationState,
> > - pCreateInfo->pMultisampleState, extra);
> > + emit_rs_state(pipeline, pCreateInfo->pRasterizationState, extra);
> > emit_ms_state(pipeline, pCreateInfo->pMultisampleState);
> > emit_ds_state(pipeline, pCreateInfo->pDepthStencilState, pass,
> subpass);
> > emit_cb_state(pipeline, pCreateInfo->pColorBlendState,
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160806/5d82c0e9/attachment.html>
More information about the mesa-dev
mailing list