Original Post
I have no idea why, but AA is simply not working in my app. The code I use to setup AA in the initiation phase of the app is: very straightforward, and stepping through shows quality is being returned as 3. I then set the render state before rendering like so: d3d->SetRenderState(D3DRS_MULTISAMPLEANTIALIAS, true); but no AA is in the app whatsoever. There's no frame-rate difference either, so I'm sure that nothing is being activated. I checked in debug outputs with max validation, and there's no errors there. Anyone have any idea why it isn't working? I've checked the driver settings and everything is set to app controlled. As an aside, I tried using masked modes, eg: pres.MultiSampleType = D3DMULTISAMPLE_2_SAMPLES; pres.MultiSampleQuality = 0; // only 1 quality stage in non masked and this causes the device creation to fail, returning the error: Device Creation error - ValidatePresentParams failed (or something similar) So I'm wondering if that might be related to the issue?
// check caps for non-masked AA and get the quality
DWORD quality;
d3dBase->CheckDeviceMultiSampleType(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_X8R8G8B8, config->bWindowed, D3DMULTISAMPLE_NONMASKABLE, &quality
// later in the presentation params setup, but before device creation
pres.BackBufferFormat = D3DFMT_X8R8G8B8;
pres.MultiSampleType = D3DMULTISAMPLE_NONMASKABLE;
pres.MultiSampleQuality = quality-1;
pres.SwapEffect = D3DSWAPEFFECT_DISCARD;