You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Active Accessibility is a COM-based technology that improves the way programs and the Windows operating system work together with assistive technology products. It provides reliable methods for exposing information about user interface elements. However, a newer accessibility model called Microsoft UI Automation is now available. For a comparison of the two technologies, see [UI Automation and Microsoft Active Accessibility](http://msdn.microsoft.com/library/87bee662-0a3e-4232-a421-20e7a5968321).
279
279
280
-
Use the [AFX_GLOBAL_DATA::IsAccessibilitySupport](#afx_global_data__isaccessibilitysupport.md) method to determine whether Microsoft Active Accessibility support is enabled.
280
+
Use the [AFX_GLOBAL_DATA::IsAccessibilitySupport](#afx_global_data__isaccessibilitysupport) method to determine whether Microsoft Active Accessibility support is enabled.
281
281
282
282
283
283
## See Also
284
284
[UI Automation and Microsoft Active Accessibility](http://msdn.microsoft.com/library/87bee662-0a3e-4232-a421-20e7a5968321)
Microsoft Active Accessibility was the earlier solution for making applications accessible. Microsoft UI Automation is the new accessibility model for Microsoft Windows and is intended to address the needs of assistive technology products and automated testing tools. For more information, see [UI Automation and Microsoft Active Accessibility](http://msdn.microsoft.com/library/87bee662-0a3e-4232-a421-20e7a5968321).
481
481
482
-
Use the [AFX_GLOBAL_DATA::EnableAccessibilitySupport](#afx_global_data__enableaccessibilitysupport.md) method to enable or disable Active Accessibility support.
482
+
Use the [AFX_GLOBAL_DATA::EnableAccessibilitySupport](#afx_global_data__enableaccessibilitysupport) method to enable or disable Active Accessibility support.
Copy file name to clipboardExpand all lines: docs/parallel/amp/cpp-amp-overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -271,7 +271,7 @@ for (int i = 0; i <5; i++)
271
271
272
272
`array` objects can be used to specify fine-grained control over the use of shared memory if the associated accelerator supports it. Whether an accelerator supports shared memory is determined by the accelerator’s [supports_cpu_shared_memory](reference/accelerator-class.md#accelerator__supports_cpu_shared_memory) property, which returns `true` when shared memory is supported. If shared memory is supported, the default [access_type Enumeration](reference/concurrency-namespace-enums-amp.md#access_type) for memory allocations on the accelerator is determined by the `default_cpu_access_type` property. By default, `array` and `array_view` objects take on the same `access_type` as the primary associated `accelerator`.
273
273
274
-
By setting the [array::cpu_access_type Data Member](reference/array-class.md#array__cpu_access_type) property of an `array` explicitly, you can exercise fine-grained control over how shared memory is used, so that you can optimize the app for the hardware’s performance characteristics, based on the memory access patterns of its computation kernels. An `array_view` reflects the same `cpu_access_type` as the `array` that it’s associated with; or, if the array_view is constructed without a data source, its `access_type` reflects the environment that first causes it to allocate storage. That is, if it’s first accessed by the host (CPU), then it behaves as if it were created over a CPU data source and shares the `access_type` of the `accelerator_view` associated by capture; however, if it's first accessed by an `accelerator_view`, then it behaves as if it were created over an `array` created on that `accelerator_view` and shares the `array`’s `access_type`.
274
+
By setting the [array::cpu_access_type Data Member](reference/array-class.md#array__cpu_access_type_data_member) property of an `array` explicitly, you can exercise fine-grained control over how shared memory is used, so that you can optimize the app for the hardware’s performance characteristics, based on the memory access patterns of its computation kernels. An `array_view` reflects the same `cpu_access_type` as the `array` that it’s associated with; or, if the array_view is constructed without a data source, its `access_type` reflects the environment that first causes it to allocate storage. That is, if it’s first accessed by the host (CPU), then it behaves as if it were created over a CPU data source and shares the `access_type` of the `accelerator_view` associated by capture; however, if it's first accessed by an `accelerator_view`, then it behaves as if it were created over an `array` created on that `accelerator_view` and shares the `array`’s `access_type`.
275
275
276
276
The following code example shows how to determine whether the default accelerator supports shared memory, and then creates several arrays that have different cpu_access_type configurations.
You can read from a `texture` object by using [texture::operator\[\]](reference/texture-class.md#texture__operator_at), [texture::operator() Operator](reference/texture-class.md#texture__operator_call), or [texture::get Method](reference/texture-class.md#texture__get). [texture::operatorOperator](reference/texture-class.md#texture__operator.md) and [texture::operator() Operator](reference/texture-class.md#texture__operator\(\)%20Operator.md) return a value, not a reference. Therefore, you cannot write to a `texture` object by using `texture::operator\[\]`.
165
+
You can read from a `texture` object by using [texture::operator\[\]](reference/texture-class.md#texture__operator_at), [texture::operator() Operator](reference/texture-class.md#texture__operator_call), or [texture::get Method](reference/texture-class.md#texture__get). The two operators return a value, not a reference. Therefore, you cannot write to a `texture` object by using `texture::operator\[\]`.
Texture views whose elements are based on floating-point types—for example, float, float_2, or float_4—can also be read by using texture sampling to take advantage of hardware support for various filtering modes and addressing modes. C++ AMP supports the two filtering modes that are most common in compute scenarios—point-filtering (nearest-neighbor) and linear-filtering (weighted average)—and four addressing modes—wrapped, mirrored, clamped, and border. For more information about filtering modes, see [filter_mode Enumeration](reference/concurrency-namespace-enums-amp.md#filter_mode); for more information about addressing modes, see [address_mode Enumeration](reference/concurrency-namespace-enums-amp.md#address_mode_enumeration).
422
+
Texture views whose elements are based on floating-point types—for example, float, float_2, or float_4—can also be read by using texture sampling to take advantage of hardware support for various filtering modes and addressing modes. C++ AMP supports the two filtering modes that are most common in compute scenarios—point-filtering (nearest-neighbor) and linear-filtering (weighted average)—and four addressing modes—wrapped, mirrored, clamped, and border. For more information about addressing modes, see [address_mode Enumeration](reference/concurrency-namespace-enums-amp.md#address_mode).
423
423
424
424
In addition to modes that C++ AMP supports directly, you can access other filtering modes and addressing modes of the underlying platform by using the interop APIs to adopt a texture sampler that was created by using the platform APIs directly. For example, Direct3D supports other filtering modes such as anisotropic filtering, and can apply a different addressing mode to each dimension of a texture. You could create a texture sampler whose coordinates are wrapped vertically, mirrored horizontally, and sampled with anisotropic filtering by using the Direct3D APIs, and then leverage the sampler in your C++ AMP code by using the `make_sampler` interop API. For more information see [Texture Sampling in C++ AMP](http://blogs.msdn.com/b/nativeconcurrency/archive/2013/07/18/texture-sampling-in-c-amp.aspx) on the Parallel Programming in Native Code blog.
Copy file name to clipboardExpand all lines: docs/parallel/amp/reference/accelerator-class.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,7 +60,7 @@ class accelerator;
60
60
|[accelerator::get_all Method](#accelerator__get_all_method)|Returns a vector of `accelerator` objects that represent all the available accelerators.|
61
61
|[accelerator::get_auto_selection_view Method](#accelerator__get_auto_selection_view_method)|Returns the auto-selection `accelerator_view`.|
62
62
|[accelerator::get_dedicated_memory Method](#accelerator__get_dedicated_memory_method)|Returns the dedicated memory for the `accelerator`, in kilobytes.|
63
-
|[accelerator::get_default_cpu_access_type Method](#accelerator__get_default_cpu_access_type_method)|Returns the default [access_type](../../../parallel/concrt/reference/concurrency-namespace-enums.md#access_type_enumeration) for buffers created on this accelerator.|
63
+
|[accelerator::get_default_cpu_access_type Method](#accelerator__get_default_cpu_access_type_method)|Returns the default [access_type](../../../parallel/concrt/reference/concurrency-namespace-enums.md#access_type_enumeration for buffers created on this accelerator.|
64
64
|[accelerator::get_default_view Method](#accelerator__get_default_view_method)|Returns the default `accelerator_view` object that is associated with the `accelerator`.|
65
65
|[accelerator::get_description Method](#accelerator__get_description_method)|Returns a short description of the `accelerator` device.|
66
66
|[accelerator::get_device_path Method](#accelerator__get_device_path_method)|Returns the path of the device.|
@@ -72,7 +72,7 @@ class accelerator;
72
72
|[accelerator::get_supports_limited_double_precision Method](#accelerator__get_supports_limited_double_precision_method)|Determines whether the `accelerator` has limited support for double-precision math.|
73
73
|[accelerator::get_version Method](#accelerator__get_version_method)|Returns the version of the `accelerator`.|
74
74
|[accelerator::set_default Method](#accelerator__set_default_method)|Returns the path of the default accelerator.|
75
-
|[accelerator::set_default_cpu_access_type Method](#accelerator__set_default_cpu_access_type_method)|Sets the default CPU [access_type](../../../parallel/concrt/reference/concurrency-namespace-enums.md#access_type_enumeration) for arrays and implicit memory allocations made on this `accelerator`.|
75
+
|[accelerator::set_default_cpu_access_type Method](#accelerator__set_default_cpu_access_type_method)|Sets the default CPU [access_type](../../../parallel/concrt/reference/concurrency-namespace-enums.md#access_type_enumeration for arrays and implicit memory allocations made on this `accelerator`.|
76
76
77
77
### Public Operators
78
78
@@ -89,7 +89,7 @@ class accelerator;
89
89
|[accelerator::cpu_accelerator Data Member](#accelerator__cpu_accelerator_data_member)|Gets a string constant for the CPU `accelerator`.|
90
90
|[accelerator::dedicated_memory Data Member](#accelerator__dedicated_memory_data_member)|Gets the dedicated memory for the `accelerator`, in kilobytes.|
91
91
|[accelerator::default_accelerator Data Member](#accelerator__default_accelerator_data_member)|Gets a string constant for the default `accelerator`.|
92
-
|[accelerator::default_cpu_access_type Data Member](#accelerator__default_cpu_access_type_data_member)|Gets or sets the default CPU [access_type](../../../parallel/concrt/reference/concurrency-namespace-enums.md#access_type_enumeration) for arrays and implicit memory allocations made on this `accelerator`.|
92
+
|[accelerator::default_cpu_access_type Data Member](#accelerator__default_cpu_access_type_data_member)|Gets or sets the default CPU [access_type](../../../parallel/concrt/reference/concurrency-namespace-enums.md#access_type_enumeration for arrays and implicit memory allocations made on this `accelerator`.|
93
93
|[accelerator::default_view Data Member](#accelerator__default_view_data_member)|Gets the default `accelerator_view` object that is associated with the `accelerator`.|
94
94
|[accelerator::description Data Member](#accelerator__description_data_member)|Gets a short description of the `accelerator` device.|
95
95
|[accelerator::device_path Data Member](#accelerator__device_path_data_member)|Gets the path of the device.|
## <aname="accelerator__default_cpu_access_type_data_member"></a> accelerator::default_cpu_access_type Data Member
184
-
The default cpu [access_type](../../../parallel/concrt/reference/concurrency-namespace-enums.md#access_type_enumeration) for arrays and implicit memory allocations made on this this `accelerator`.
184
+
The default cpu [access_type](../../../parallel/concrt/reference/concurrency-namespace-enums.md#access_type_enumeration for arrays and implicit memory allocations made on this this `accelerator`.
Copy file name to clipboardExpand all lines: docs/parallel/amp/reference/accelerator-view-class.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -59,7 +59,7 @@ class accelerator_view;
59
59
|[accelerator_view::create_marker Method](#accelerator_view__create_marker_method)|Returns a future to track the completion of all commands submitted so far to this `accelerator_view` object.|
60
60
|[accelerator_view::flush Method](#accelerator_view__flush_method)|Submits all pending commands queued to the `accelerator_view` object to the accelerator for execution.|
61
61
|[accelerator_view::get_accelerator Method](#accelerator_view__get_accelerator_method)|Returns the `accelerator` object for the `accelerator_view` object.|
62
-
|[accelerator_view::get_is_auto_selection Method](#accelerator_view__get_is_auto_selection_method)|Returns a Boolean value that indicates whether the runtime will automatically select an appropriate accelerator when the `accelerator_view` object is passed to a [parallel_for_each](concurrency-namespace-functions-amp.md#parallel_for_each_function).|
62
+
|[accelerator_view::get_is_auto_selection Method](#accelerator_view__get_is_auto_selection_method)|Returns a Boolean value that indicates whether the runtime will automatically select an appropriate accelerator when the `accelerator_view` object is passed to a [parallel_for_each](concurrency-namespace-functions-amp.md#parallel_for_each).|
63
63
|[accelerator_view::get_is_debug Method](#accelerator_view__get_is_debug_method)|Returns a Boolean value that indicates whether the `accelerator_view` object has the DEBUG layer enabled for extensive error reporting.|
64
64
|[accelerator_view::get_queuing_mode Method](#accelerator_view__get_queuing_mode_method)|Returns the queuing mode for the `accelerator_view` object.|
65
65
|[accelerator_view::get_version Method](#accelerator_view__get_version_method)|Returns the version of the `accelerator_view`.|
@@ -78,7 +78,7 @@ class accelerator_view;
78
78
|Name|Description|
79
79
|----------|-----------------|
80
80
|[accelerator_view::accelerator Data Member](#accelerator_view__accelerator_data_member)|Gets the `accelerator` object for the `accelerator_view` object.|
81
-
|[accelerator_view::is_auto_selection Data Member](#accelerator_view__is_auto_selection_data_member)|Gets a Boolean value that indicates whether the runtime will automatically select an appropriate accelerator when the `accelerator_view` object is passed to a [parallel_for_each](concurrency-namespace-functions-amp.md#parallel_for_each_function).|
81
+
|[accelerator_view::is_auto_selection Data Member](#accelerator_view__is_auto_selection_data_member)|Gets a Boolean value that indicates whether the runtime will automatically select an appropriate accelerator when the `accelerator_view` object is passed to a [parallel_for_each](concurrency-namespace-functions-amp.md#parallel_for_each).|
82
82
|[accelerator_view::is_debug Data Member](#accelerator_view__is_debug_data_member)|Gets a Boolean value that indicates whether the `accelerator_view` object has the DEBUG layer enabled for extensive error reporting.|
83
83
|[accelerator_view::queuing_mode Data Member](#accelerator_view__queuing_mode_data_member)|Gets the queuing mode for the `accelerator_view` object.|
84
84
|[accelerator_view::version Data Member](#accelerator_view__version_data_member)|Gets the version of the accelerator.|
@@ -91,7 +91,7 @@ class accelerator_view;
91
91
92
92
Physical devices can be shared among many client threads. Client threads can cooperatively use the same `accelerator_view` object of an accelerator, or each client can communicate with a compute device via an independent `accelerator_view` object for isolation from other client threads.
93
93
94
-
An `accelerator_view` object can have one of two [queuing_mode Enumeration](concurrency-namespace-enums-amp.md#queuing-mode-enumeration) states. If the queuing mode is `immediate`, commands like `copy` and `parallel_for_each` are sent to the corresponding accelerator device as soon as they return to the caller. If the queuing mode is `deferred`, such commands are queued up on a command queue that corresponds to the `accelerator_view` object. Commands are not actually sent to the device until `flush()` is called.
94
+
An `accelerator_view` object can have one of two [queuing_mode Enumeration](concurrency-namespace-enums-amp.md#queuing_mode_enumeration) states. If the queuing mode is `immediate`, commands like `copy` and `parallel_for_each` are sent to the corresponding accelerator device as soon as they return to the caller. If the queuing mode is `deferred`, such commands are queued up on a command queue that corresponds to the `accelerator_view` object. Commands are not actually sent to the device until `flush()` is called.
0 commit comments