Cross Process Resource Sharing
Type: Automated Test
This test is designed to verify that resources created in WDDM must be able to be shared across different process boundaries, in the correct cases.
For this test, WDDM drivers should be installed on the test machine. The test must also be run as an Administrator because, in some of the tests, administrator level privileges are required to allow communication between user processes in different sessions.
The main test process will read from a configuration file, Crossproc.ini, to determine which tests must be run. Depending on the test, it may create one or more processes. These other processes will either create a new resource or be the user of a resource previously created by the main process. Communication between processes will occur through an area of mapped memory, and synchronization will be done with both mutexes and events.
Tex_Basic_CreateOpen - Creates a shared texture resource with the main process and then shares the handle to that resource with a newly created ‘user’ process. The ‘user’ process attempts to open the shared texture.
Tex_OwnerTriesToLock - The creating process should be able to lock the shared resource at any time. This test has the owner attempt to lock this resource, once with no other references to the resource, and once with other references.
Tex_OwnerGoesAway - This test has the ‘user’ process create a shared resource, and then the main process opens it. Once the main process opens the resource, the creating process is killed off. The using process in this scenario should still have a reference to a valid resource.
Tex_UserTriesToLock - The using process should not be able to lock a shared resource. This test attempts to lock the resource on a non-owning process. It is expected to fail.
Tex_ValidateTexture - This test validates that the using process has a handle to the same resource as was created by the owner. The owner colorfills a shared texture and then the using process opens the texture and blits it to a new surface. The surface is then checked for conformity against the colorfill texture.
Tex_MultiUser_Scenario - This test creates a shared resource with the main process and then several new processes are created and simultaneously try to access the resource.
Tex_RoundRobin - This test creates a shared resource with the main process, then user processes are created in round robin style one at a time. Each new user process opens the shared resource and the previous user process is closed. This test attempts to check for race conditions.
Tex_CrossAdapterNotShare - This test creates a shared resource (texture) on one adapter. It then attempts to open the shared resource on a different adapter in the system. The shared resource should not be accessible on the adapter that did not create the resource. If there are less than two adapters (the adapter must be attached to a desktop to be counted as present), the test will be skipped.
Tex_CrossSessionNotShare - This test creates a shared resource in a process in one user session, it then uses Fast User Switching (FUS) to get to another user session on the computer (the test will automatically create the new user) and launches another process that tries to access the shared resource created in a different session. The process in the second session should not be able to access the shared resource created in the first user session. This test requires the FUS framework to be installed on the user's computer. If FUS is not installed, the DTM tool will install it before the test is run. If the FUS framework is not installed and the user attempts to run this test, the test will be skipped.
Run Time: 5 minutes
Log File: Crossproc.xml
System Restart Required: No
Supported operating systems for Logo or Signature testing:
Windows Server 2008 R2
The test tool requires the following software:
- Supported operating system (see list above).
- Software components included with the device that is being tested.
- Device to be tested
- Computer that meets the minimum software requirements
- Windows keyboard
- Two-button pointing device
- Color display monitor capable of at least 1024 by 768 resolution, 32-bits per pixel, 60 Hz
- Hard drive with a minimum of 20 GB available on partition C:
- In order to run the CrossAdapterNotShare test, two graphics adapters are required, and a monitor must be attached to each adapter.
Send feedback on this topic
Built on December 10, 2009